Merge pull request #10074 from cli/kw/cli-7011-fix-delete-branch-with-merge-queue-v2
`gh pr merge --delete-branch` exits with error when merge requested via merge queue
This commit is contained in:
commit
c35d725b0b
2 changed files with 31 additions and 1 deletions
|
|
@ -241,7 +241,14 @@ func (m *mergeContext) warnIfDiverged() {
|
|||
// Check if the current state of the pull request allows for merging
|
||||
func (m *mergeContext) canMerge() error {
|
||||
if m.mergeQueueRequired {
|
||||
// a pull request can always be added to the merge queue
|
||||
// Requesting branch deletion on a PR with a merge queue
|
||||
// policy is not allowed. Doing so can unexpectedly
|
||||
// delete branches before merging, close the PR, and remove
|
||||
// the PR from the merge queue.
|
||||
if m.opts.DeleteBranch {
|
||||
return fmt.Errorf("%s Cannot use `-d` or `--delete-branch` when merge queue enabled", m.cs.FailureIcon())
|
||||
}
|
||||
// Otherwise, a pull request can always be added to the merge queue
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -659,6 +659,29 @@ func TestPrMerge_deleteBranch(t *testing.T) {
|
|||
`), output.Stderr())
|
||||
}
|
||||
|
||||
func TestPrMerge_deleteBranch_mergeQueue(t *testing.T) {
|
||||
http := initFakeHTTP()
|
||||
defer http.Verify(t)
|
||||
|
||||
shared.RunCommandFinder(
|
||||
"",
|
||||
&api.PullRequest{
|
||||
ID: "PR_10",
|
||||
Number: 10,
|
||||
State: "OPEN",
|
||||
Title: "Blueberries are a good fruit",
|
||||
HeadRefName: "blueberries",
|
||||
BaseRefName: "main",
|
||||
MergeStateStatus: "CLEAN",
|
||||
IsMergeQueueEnabled: true,
|
||||
},
|
||||
baseRepo("OWNER", "REPO", "main"),
|
||||
)
|
||||
|
||||
_, err := runCommand(http, nil, "blueberries", true, `pr merge --merge --delete-branch`)
|
||||
assert.Contains(t, err.Error(), "X Cannot use `-d` or `--delete-branch` when merge queue enabled")
|
||||
}
|
||||
|
||||
func TestPrMerge_deleteBranch_nonDefault(t *testing.T) {
|
||||
http := initFakeHTTP()
|
||||
defer http.Verify(t)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue