@@ -564,22 +564,35 @@ func GetSquashMergeCommitMessages(pr *models.PullRequest) string {
564
564
return ""
565
565
}
566
566
567
+ maxSize := setting .Repository .PullRequest .DefaultMergeMessageSize
568
+
567
569
posterSig := pr .Issue .Poster .NewGitSig ().String ()
568
570
569
571
authorsMap := map [string ]bool {}
570
572
authors := make ([]string , 0 , list .Len ())
571
573
stringBuilder := strings.Builder {}
572
574
573
- stringBuilder .WriteString (pr .Issue .Content )
574
- if stringBuilder .Len () > 0 {
575
- stringBuilder .WriteRune ('\n' )
576
- stringBuilder .WriteRune ('\n' )
577
- }
578
-
579
575
// commits list is in reverse chronological order
580
576
element := list .Back ()
581
577
for element != nil {
582
578
commit := element .Value .(* git.Commit )
579
+
580
+ if maxSize < 0 || stringBuilder .Len () < maxSize {
581
+ toWrite := []byte (commit .CommitMessage )
582
+ if len (toWrite ) > maxSize - stringBuilder .Len () && maxSize > - 1 {
583
+ toWrite = append (toWrite [:maxSize - stringBuilder .Len ()], "..." ... )
584
+ }
585
+ if _ , err := stringBuilder .Write (toWrite ); err != nil {
586
+ log .Error ("Unable to write commit message Error: %v" , err )
587
+ return ""
588
+ }
589
+
590
+ if _ , err := stringBuilder .WriteRune ('\n' ); err != nil {
591
+ log .Error ("Unable to write commit message Error: %v" , err )
592
+ return ""
593
+ }
594
+ }
595
+
583
596
authorString := commit .Author .String ()
584
597
if ! authorsMap [authorString ] && authorString != posterSig {
585
598
authors = append (authors , authorString )
0 commit comments