Skip to content

Conversation

@BagToad
Copy link
Member

@BagToad BagToad commented Dec 12, 2024

Description

When running gh pr merge -d on a repo with a merge queue policy, exit before attempting to merge.

Attempting to delete the remote branch with a PR that will be merged with a merge queue can cause the PR to be unexpectedly closed and the remote branch deleted before a successful merge.

Alternative fix #7011.

Demo

Current Behavior...

test-general on  main took 3s 
❯ gh pr checkout 18
branch 'BagToad-patch-5' set up to track 'origin/BagToad-patch-5'.
Switched to a new branch 'BagToad-patch-5'

test-general on  BagToad-patch-5 
❯ gh pr merge -d   
✓ Pull request bagtoad-enterprise-cloud-testing/test-general#18 will be added to the merge queue for main when ready
From https://github.com/bagtoad-enterprise-cloud-testing/test-general
 * branch            main       -> FETCH_HEAD
Already up to date.
✓ Deleted local branch BagToad-patch-5 and switched to branch main
✓ Deleted remote branch BagToad-patch-5

image

Proposed...

❯ $ghbin pr merge -d   
X Cannot use `-d` or `--delete-branch` when merge queue enabled

Notes

To reproduce this, you have to configure a repository with a ruleset that requires a merge queue. The merge queue must be configured in some way that allows a PR to wait in the merge queue for some amount of time.

The following settings will work to accomplish that when one PR is in the merge queue:

merge queue settings image

image

When running `gh pr merge -d` on a repo with a merge queue policy, exit before attempting to merge.
@BagToad BagToad requested a review from a team as a code owner December 12, 2024 21:55
@BagToad BagToad requested a review from andyfeller December 12, 2024 21:55
@cliAutomation cliAutomation added the external pull request originating outside of the CLI core team label Dec 12, 2024
@BagToad BagToad changed the title gh pr merge --delete-branch exits with error when PR merged via merge queue gh pr merge --delete-branch exits with error when merge requested via merge queue Dec 12, 2024
Copy link
Contributor

@jtmcg jtmcg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@BagToad BagToad enabled auto-merge December 12, 2024 22:57
@BagToad BagToad merged commit c35d725 into trunk Dec 12, 2024
@BagToad BagToad deleted the kw/cli-7011-fix-delete-branch-with-merge-queue-v2 branch December 12, 2024 23:05
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 21, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cli/cli](https://github.com/cli/cli) | minor | `v2.63.2` -> `v2.64.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.64.0`](https://github.com/cli/cli/releases/tag/v2.64.0): GitHub CLI 2.64.0

[Compare Source](cli/cli@v2.63.2...v2.64.0)

#### What's Changed

-   docs: improve docs for browse command as of [#&#8203;5352](cli/cli#5352) by [@&#8203;ankddev](https://github.com/ankddev) in cli/cli#10025
-   Open MR against gh-merge-base by [@&#8203;heaths](https://github.com/heaths) in cli/cli#9712
-   Add integration tests for `gh attestation verify` when the `bundle-from-oci` flag is specified by [@&#8203;malancas](https://github.com/malancas) in cli/cli#10020
-   `gh repo rename` help text clarifies new repo name should not include owner by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10044
-   fix: list branches in square brackets in `gh run` and `gh codespace` by [@&#8203;uday-rana](https://github.com/uday-rana) in cli/cli#10043
-   Bump actions/attest-build-provenance from 1.4.4 to 2.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in cli/cli#10056
-   Bump golang.org/x/crypto from 0.29.0 to 0.31.0 by [@&#8203;dependabot](https://github.com/dependabot) in cli/cli#10070
-   Improve documentation and error messaging for local extension installations without executables by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#9933
-   docs: better document auth scopes by [@&#8203;ankddev](https://github.com/ankddev) in cli/cli#10026
-   Sigstore verifier logic updates by [@&#8203;malancas](https://github.com/malancas) in cli/cli#9999
-   `gh pr merge --delete-branch` exits with error when merge requested via merge queue by [@&#8203;BagToad](https://github.com/BagToad) in cli/cli#10074
-   sundry `gh at inspect` improvements by [@&#8203;phillmv](https://github.com/phillmv) in cli/cli#9954
-   Support `pr view` for intra-org forks by [@&#8203;williammartin](https://github.com/williammartin) in cli/cli#10078
-   Print policy information before verifying attestations by [@&#8203;malancas](https://github.com/malancas) in cli/cli#9891
-   Improve error handling in apt setup script by [@&#8203;jobegrabber](https://github.com/jobegrabber) in cli/cli#10055
-   Use Windows compatible file name for downloaded attestations when running `gh attestation download` by [@&#8203;malancas](https://github.com/malancas) in cli/cli#10051
-   Bump github.com/cpuguy83/go-md2man/v2 from 2.0.5 to 2.0.6 by [@&#8203;dependabot](https://github.com/dependabot) in cli/cli#10094
-   Perform all `gh attestation verify` policy options configuration in the `newEnforcementCriteria()` function by [@&#8203;malancas](https://github.com/malancas) in cli/cli#10012

#### New Contributors

-   [@&#8203;ankddev](https://github.com/ankddev) made their first contribution in cli/cli#10025
-   [@&#8203;uday-rana](https://github.com/uday-rana) made their first contribution in cli/cli#10043
-   [@&#8203;jobegrabber](https://github.com/jobegrabber) made their first contribution in cli/cli#10055

**Full Changelog**: cli/cli@v2.63.2...v2.64.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS43Ny4wIiwidXBkYXRlZEluVmVyIjoiMzkuNzcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
ferrarimarco added a commit to super-linter/super-linter that referenced this pull request Jan 20, 2025
Remove the --delete-branch option in the dependency automation workflow.
Ref: cli/cli#10074
ferrarimarco added a commit to super-linter/super-linter that referenced this pull request Jan 20, 2025
Remove the --delete-branch option in the dependency automation workflow.
Ref: cli/cli#10074
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external pull request originating outside of the CLI core team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PR merge command with delete branch closes the PR

4 participants