mr: merge when the gates pass #289

closed cmc opened this on 2026-09-28 06:27 UTC · mr roadmap

Discussion

cmc 2026-09-28 06:27 UTC

mr merge <n> --when-ready queues the merge and performs it once MergeGates passes: required checks, approvals, codeowners, resolved threads.

  • Evaluated when a status is set, a review is submitted, a thread is resolved, and on push to the source branch.
  • A push to the source branch after queueing keeps the request queued; the new head must pass the gates again.
  • The server cannot rebase on a require-signed repository (the result would be unsigned). If the branch falls behind, the request stays queued and the MR says it needs a rebase.
  • mr merge <n> --cancel dequeues. The MR page shows the queued state and who queued it, with a web button for both.
  • The merge is attributed to the user who queued it and checked against their rights at merge time.

closed by cmc in commit 8b73af24fa: wiki, changelog: mr merge --when-ready

2026-09-29 04:03 UTC

referenced in commit c16661f662 by cmc: control: a deploy-key push or an unchecked pusher dequeues a queued merge

2026-09-29 04:03 UTC

referenced in commit c1f3c195a2 by cmc: control: bind queued merges to their credential; dequeue on foreign push, retarget, source deletion

2026-09-29 04:03 UTC

referenced in commit 991b65712f by cmc: web: queued merge state, merge-when-ready and cancel buttons on the MR page

2026-09-29 04:03 UTC

referenced in commit 8fa927e43a by cmc: control: mr merge --when-ready and --cancel

2026-09-29 04:03 UTC

referenced in commit 93177cdf69 by cmc: store: merge queue table, MR queue fields, queued flag on dashboard rows

2026-09-29 04:03 UTC