@@ -784,30 +784,30 @@ func CloseRepoBranchesPulls(ctx context.Context, doer *user_model.User, repo *re
784784var commitMessageTrailersPattern = regexp .MustCompile (`(?:^|\n\n)(?:[\w-]+[ \t]*:[^\n]+\n*(?:[ \t]+[^\n]+\n*)*)+$` )
785785
786786// GetSquashMergeCommitMessages returns the commit messages between head and merge base (if there is one)
787- func GetSquashMergeCommitMessages (ctx context.Context , pr * issues_model.PullRequest ) string {
787+ func GetSquashMergeCommitMessages (ctx context.Context , pr * issues_model.PullRequest ) ( string , string ) {
788788 if err := pr .LoadIssue (ctx ); err != nil {
789789 log .Error ("Cannot load issue %d for PR id %d: Error: %v" , pr .IssueID , pr .ID , err )
790- return ""
790+ return "" , ""
791791 }
792792
793793 if err := pr .Issue .LoadPoster (ctx ); err != nil {
794794 log .Error ("Cannot load poster %d for pr id %d, index %d Error: %v" , pr .Issue .PosterID , pr .ID , pr .Index , err )
795- return ""
795+ return "" , ""
796796 }
797797
798798 if pr .HeadRepo == nil {
799799 var err error
800800 pr .HeadRepo , err = repo_model .GetRepositoryByID (ctx , pr .HeadRepoID )
801801 if err != nil {
802802 log .Error ("GetRepositoryByIdCtx[%d]: %v" , pr .HeadRepoID , err )
803- return ""
803+ return "" , ""
804804 }
805805 }
806806
807807 gitRepo , closer , err := gitrepo .RepositoryFromContextOrOpen (ctx , pr .HeadRepo )
808808 if err != nil {
809809 log .Error ("Unable to open head repository: Error: %v" , err )
810- return ""
810+ return "" , ""
811811 }
812812 defer closer .Close ()
813813
@@ -818,34 +818,35 @@ func GetSquashMergeCommitMessages(ctx context.Context, pr *issues_model.PullRequ
818818 pr .HeadCommitID , err = gitRepo .GetRefCommitID (pr .GetGitHeadRefName ())
819819 if err != nil {
820820 log .Error ("Unable to get head commit: %s Error: %v" , pr .GetGitHeadRefName (), err )
821- return ""
821+ return "" , ""
822822 }
823823 headCommit , err = gitRepo .GetCommit (pr .HeadCommitID )
824824 }
825825 if err != nil {
826826 log .Error ("Unable to get head commit: %s Error: %v" , pr .HeadBranch , err )
827- return ""
827+ return "" , ""
828828 }
829829
830830 mergeBase , err := gitRepo .GetCommit (pr .MergeBase )
831831 if err != nil {
832832 log .Error ("Unable to get merge base commit: %s Error: %v" , pr .MergeBase , err )
833- return ""
833+ return "" , ""
834834 }
835835
836836 limit := setting .Repository .PullRequest .DefaultMergeMessageCommitsLimit
837837
838838 commits , err := gitRepo .CommitsBetweenLimit (headCommit , mergeBase , limit , 0 )
839839 if err != nil {
840840 log .Error ("Unable to get commits between: %s %s Error: %v" , pr .HeadBranch , pr .MergeBase , err )
841- return ""
841+ return "" , ""
842842 }
843843
844844 posterSig := pr .Issue .Poster .NewGitSig ().String ()
845845
846846 uniqueAuthors := make (container.Set [string ])
847847 authors := make ([]string , 0 , len (commits ))
848848 stringBuilder := strings.Builder {}
849+ coAuthorStringBuilder := strings.Builder {}
849850
850851 if ! setting .Repository .PullRequest .PopulateSquashCommentWithCommitMessages {
851852 message := strings .TrimSpace (pr .Issue .Content )
@@ -879,12 +880,12 @@ func GetSquashMergeCommitMessages(ctx context.Context, pr *issues_model.PullRequ
879880 }
880881 if _ , err := stringBuilder .Write (toWrite ); err != nil {
881882 log .Error ("Unable to write commit message Error: %v" , err )
882- return ""
883+ return "" , ""
883884 }
884885
885886 if _ , err := stringBuilder .WriteRune ('\n' ); err != nil {
886887 log .Error ("Unable to write commit message Error: %v" , err )
887- return ""
888+ return "" , ""
888889 }
889890 }
890891 }
@@ -908,7 +909,7 @@ func GetSquashMergeCommitMessages(ctx context.Context, pr *issues_model.PullRequ
908909 commits , err := gitRepo .CommitsBetweenLimit (headCommit , mergeBase , limit , skip )
909910 if err != nil {
910911 log .Error ("Unable to get commits between: %s %s Error: %v" , pr .HeadBranch , pr .MergeBase , err )
911- return ""
912+ return "" , ""
912913 }
913914 if len (commits ) == 0 {
914915 break
@@ -927,21 +928,21 @@ func GetSquashMergeCommitMessages(ctx context.Context, pr *issues_model.PullRequ
927928 }
928929
929930 for _ , author := range authors {
930- if _ , err := stringBuilder .WriteString ("Co-authored-by: " ); err != nil {
931+ if _ , err := coAuthorStringBuilder .WriteString ("Co-authored-by: " ); err != nil {
931932 log .Error ("Unable to write to string builder Error: %v" , err )
932- return ""
933+ return "" , ""
933934 }
934- if _ , err := stringBuilder .WriteString (author ); err != nil {
935+ if _ , err := coAuthorStringBuilder .WriteString (author ); err != nil {
935936 log .Error ("Unable to write to string builder Error: %v" , err )
936- return ""
937+ return "" , ""
937938 }
938- if _ , err := stringBuilder .WriteRune ('\n' ); err != nil {
939+ if _ , err := coAuthorStringBuilder .WriteRune ('\n' ); err != nil {
939940 log .Error ("Unable to write to string builder Error: %v" , err )
940- return ""
941+ return "" , ""
941942 }
942943 }
943944
944- return stringBuilder .String ()
945+ return stringBuilder .String (), coAuthorStringBuilder . String ()
945946}
946947
947948// GetIssuesAllCommitStatus returns a map of issue ID to a list of all statuses for the most recent commit as well as a map of issue ID to only the commit's latest status
0 commit comments