@ -502,8 +502,8 @@ func CloseRepoBranchesPulls(doer *models.User, repo *models.Repository) error {
return nil
}
// GetCommitMessages returns the commit messages between head and merge base (if there is one)
func GetCommitMessages ( pr * models . PullRequest ) string {
// GetSquashMerge CommitMessages returns the commit messages between head and merge base (if there is one)
func GetSquashMerge CommitMessages ( pr * models . PullRequest ) string {
if err := pr . LoadIssue ( ) ; err != nil {
log . Error ( "Cannot load issue %d for PR id %d: Error: %v" , pr . IssueID , pr . ID , err )
return ""
@ -550,34 +550,22 @@ func GetCommitMessages(pr *models.PullRequest) string {
return ""
}
maxSize := setting . Repository . PullRequest . DefaultMergeMessageSize
posterSig := pr . Issue . Poster . NewGitSig ( ) . String ( )
authorsMap := map [ string ] bool { }
authors := make ( [ ] string , 0 , list . Len ( ) )
stringBuilder := strings . Builder { }
stringBuilder . WriteString ( pr . Issue . Content )
if stringBuilder . Len ( ) > 0 {
stringBuilder . WriteRune ( '\n' )
stringBuilder . WriteRune ( '\n' )
}
// commits list is in reverse chronological order
element := list . Back ( )
for element != nil {
commit := element . Value . ( * git . Commit )
if maxSize < 0 || stringBuilder . Len ( ) < maxSize {
toWrite := [ ] byte ( commit . CommitMessage )
if len ( toWrite ) > maxSize - stringBuilder . Len ( ) && maxSize > - 1 {
toWrite = append ( toWrite [ : maxSize - stringBuilder . Len ( ) ] , "..." ... )
}
if _ , err := stringBuilder . Write ( toWrite ) ; err != nil {
log . Error ( "Unable to write commit message Error: %v" , err )
return ""
}
if _ , err := stringBuilder . WriteRune ( '\n' ) ; err != nil {
log . Error ( "Unable to write commit message Error: %v" , err )
return ""
}
}
authorString := commit . Author . String ( )
if ! authorsMap [ authorString ] && authorString != posterSig {
authors = append ( authors , authorString )