X Tutup
Skip to content

Commit f75bd72

Browse files
cristiand391mislav
authored andcommitted
Pre-populate default merge commit message if no body was provided
1 parent 4ea8d25 commit f75bd72

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

api/queries_pr.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ type PullRequest struct {
8888
ReactionGroups ReactionGroups
8989
Reviews PullRequestReviews
9090
ReviewRequests ReviewRequests
91+
92+
ViewerMergeBodyText string
9193
}
9294

9395
type ReviewRequests struct {
@@ -584,6 +586,7 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
584586
milestone{
585587
title
586588
}
589+
viewerMergeBodyText
587590
` + commentsFragment() + `
588591
` + reactionGroupsFragment() + `
589592
}

pkg/cmd/pr/merge/merge.go

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ type MergeOptions struct {
3232
DeleteBranch bool
3333
MergeMethod api.PullRequestMergeMethod
3434

35-
Body string
36-
BodyProvided bool
35+
Body string
3736

3837
IsDeleteBranchIndicated bool
3938
CanDeleteLocalBranch bool
@@ -99,10 +98,6 @@ func NewCmdMerge(f *cmdutil.Factory, runF func(*MergeOptions) error) *cobra.Comm
9998
opts.IsDeleteBranchIndicated = cmd.Flags().Changed("delete-branch")
10099
opts.CanDeleteLocalBranch = !cmd.Flags().Changed("repo")
101100

102-
if cmd.Flags().Changed("body") {
103-
opts.BodyProvided = true
104-
}
105-
106101
if runF != nil {
107102
return runF(opts)
108103
}
@@ -169,7 +164,7 @@ func mergeRun(opts *MergeOptions) error {
169164
return err
170165
}
171166

172-
allowEditMsg := (mergeMethod != api.PullRequestMergeMethodRebase) && !opts.BodyProvided
167+
allowEditMsg := mergeMethod != api.PullRequestMergeMethodRebase
173168

174169
action, err := confirmSurvey(allowEditMsg)
175170
if err != nil {
@@ -183,12 +178,19 @@ func mergeRun(opts *MergeOptions) error {
183178
return err
184179
}
185180

186-
msg, err := commitMsgSurvey(editorCommand)
181+
if opts.Body == "" {
182+
if mergeMethod == api.PullRequestMergeMethodMerge {
183+
opts.Body = pr.Title
184+
} else {
185+
opts.Body = pr.ViewerMergeBodyText
186+
}
187+
}
188+
189+
msg, err := commitMsgSurvey(opts.Body, editorCommand)
187190
if err != nil {
188191
return err
189192
}
190193
opts.Body = msg
191-
opts.BodyProvided = true
192194

193195
action, err = confirmSurvey(false)
194196
if err != nil {
@@ -202,7 +204,7 @@ func mergeRun(opts *MergeOptions) error {
202204
}
203205

204206
var body *string
205-
if opts.BodyProvided {
207+
if opts.Body != "" {
206208
body = &opts.Body
207209
}
208210

@@ -378,13 +380,15 @@ func confirmSurvey(allowEditMsg bool) (shared.Action, error) {
378380
}
379381
}
380382

381-
func commitMsgSurvey(editorCommand string) (string, error) {
383+
func commitMsgSurvey(msg string, editorCommand string) (string, error) {
382384
var result string
383385
q := &surveyext.GhEditor{
384386
EditorCommand: editorCommand,
385387
Editor: &survey.Editor{
386-
Message: "Body",
387-
FileName: "*.md",
388+
Message: "Body",
389+
AppendDefault: true,
390+
Default: msg,
391+
FileName: "*.md",
388392
},
389393
}
390394
err := prompt.SurveyAskOne(q, &result)

pkg/cmd/pr/merge/merge_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ func Test_NewCmdMerge(t *testing.T) {
7171
MergeMethod: api.PullRequestMergeMethodMerge,
7272
InteractiveMode: true,
7373
Body: "cool",
74-
BodyProvided: true,
7574
},
7675
},
7776
{
@@ -139,7 +138,6 @@ func Test_NewCmdMerge(t *testing.T) {
139138
assert.Equal(t, tt.want.MergeMethod, opts.MergeMethod)
140139
assert.Equal(t, tt.want.InteractiveMode, opts.InteractiveMode)
141140
assert.Equal(t, tt.want.Body, opts.Body)
142-
assert.Equal(t, tt.want.BodyProvided, opts.BodyProvided)
143141
})
144142
}
145143
}

0 commit comments

Comments
 (0)
X Tutup