@@ -39,19 +39,19 @@ import (
39
39
)
40
40
41
41
// GetDefaultMergeMessage returns default message used when merging pull request
42
- func GetDefaultMergeMessage (ctx context.Context , baseGitRepo * git.Repository , pr * issues_model.PullRequest , mergeStyle repo_model.MergeStyle ) (string , error ) {
42
+ func GetDefaultMergeMessage (ctx context.Context , baseGitRepo * git.Repository , pr * issues_model.PullRequest , mergeStyle repo_model.MergeStyle ) (string , string , error ) {
43
43
if err := pr .LoadHeadRepo (ctx ); err != nil {
44
- return "" , err
44
+ return "" , "" , err
45
45
}
46
46
if err := pr .LoadBaseRepo (ctx ); err != nil {
47
- return "" , err
47
+ return "" , "" , err
48
48
}
49
49
if pr .BaseRepo == nil {
50
- return "" , repo_model.ErrRepoNotExist {ID : pr .BaseRepoID }
50
+ return "" , "" , repo_model.ErrRepoNotExist {ID : pr .BaseRepoID }
51
51
}
52
52
53
53
if err := pr .LoadIssue (ctx ); err != nil {
54
- return "" , err
54
+ return "" , "" , err
55
55
}
56
56
57
57
isExternalTracker := pr .BaseRepo .UnitEnabled (ctx , unit .TypeExternalTracker )
@@ -64,12 +64,12 @@ func GetDefaultMergeMessage(ctx context.Context, baseGitRepo *git.Repository, pr
64
64
templateFilepath := fmt .Sprintf (".gitea/default_merge_message/%s_TEMPLATE.md" , strings .ToUpper (string (mergeStyle )))
65
65
commit , err := baseGitRepo .GetBranchCommit (pr .BaseRepo .DefaultBranch )
66
66
if err != nil {
67
- return "" , err
67
+ return "" , "" , err
68
68
}
69
69
templateContent , err := commit .GetFileContent (templateFilepath , setting .Repository .PullRequest .DefaultMergeMessageSize )
70
70
if err != nil {
71
71
if ! git .IsErrNotExist (err ) {
72
- return "" , err
72
+ return "" , "" , err
73
73
}
74
74
} else {
75
75
vars := map [string ]string {
@@ -108,26 +108,30 @@ func GetDefaultMergeMessage(ctx context.Context, baseGitRepo *git.Repository, pr
108
108
}
109
109
}
110
110
111
- return os .Expand (templateContent , func (s string ) string {
112
- return vars [s ]
113
- }), nil
111
+ templateDetail := ""
112
+ if splits := strings .SplitN (templateContent , "\n " , 2 ); len (splits ) == 2 {
113
+ templateContent = splits [0 ]
114
+ templateDetail = splits [1 ]
115
+ }
116
+ mapping := func (s string ) string { return vars [s ] }
117
+ return os .Expand (templateContent , mapping ), os .Expand (templateDetail , mapping ), nil
114
118
}
115
119
}
116
120
117
121
// Squash merge has a different from other styles.
118
122
if mergeStyle == repo_model .MergeStyleSquash {
119
- return fmt .Sprintf ("%s (%s%d)" , pr .Issue .Title , issueReference , pr .Issue .Index ), nil
123
+ return fmt .Sprintf ("%s (%s%d)" , pr .Issue .Title , issueReference , pr .Issue .Index ), "" , nil
120
124
}
121
125
122
126
if pr .BaseRepoID == pr .HeadRepoID {
123
- return fmt .Sprintf ("Merge pull request '%s' (%s%d) from %s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadBranch , pr .BaseBranch ), nil
127
+ return fmt .Sprintf ("Merge pull request '%s' (%s%d) from %s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadBranch , pr .BaseBranch ), "" , nil
124
128
}
125
129
126
130
if pr .HeadRepo == nil {
127
- return fmt .Sprintf ("Merge pull request '%s' (%s%d) from <deleted>:%s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadBranch , pr .BaseBranch ), nil
131
+ return fmt .Sprintf ("Merge pull request '%s' (%s%d) from <deleted>:%s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadBranch , pr .BaseBranch ), "" , nil
128
132
}
129
133
130
- return fmt .Sprintf ("Merge pull request '%s' (%s%d) from %s:%s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadRepo .FullName (), pr .HeadBranch , pr .BaseBranch ), nil
134
+ return fmt .Sprintf ("Merge pull request '%s' (%s%d) from %s:%s into %s" , pr .Issue .Title , issueReference , pr .Issue .Index , pr .HeadRepo .FullName (), pr .HeadBranch , pr .BaseBranch ), "" , nil
131
135
}
132
136
133
137
// Merge merges pull request to base repository.
0 commit comments