Commit cae1d071e4

cae1d071e41f66e428fb5f890d1ed2532bcdb2cf

parent: 9012c6a12e

Verified · cmc

cmc <hello@cleberg.net> · 2026-09-02 02:46 UTC

Parity: stacked merge requests

Ref krz/gitbay#87

Layout: unified · split

Parity.org +9
@@ -44,6 +44,7 @@ browser-only and the iOS build screen unable to say more than the log.
44| retarget | yes | yes | no | 44| retarget | yes | yes | no |
45| milestone | yes | yes | yes | 45| milestone | yes | yes | yes |
46| choose body markup | yes | no | no | 46| choose body markup | yes | no | no |
47| stacked merge requests | yes | yes | no |
47 48
48Reviews and checks carry the time they last said something, and a 49Reviews and checks carry the time they last said something, and a
49=ci/<job>= check carries how long its build ran, so a merge request 50=ci/<job>= check carries how long its build ran, so a merge request
@@ -54,6 +55,14 @@ request names who resolved it and when; a row without that stamp — a
54=mr.merged= event to backfill from — says neither rather than 55=mr.merged= event to backfill from — says neither rather than
55inventing a time. 56inventing a time.
56 57
58A merge request whose target is another open merge request's source
59branch is stacked on it: =mr show= and the page say so both ways, and
60when the lower one merges, everything stacked on it is retargeted onto
61what it merged into with its reviews kept. A squash or rebase merge is
62refused while anything is stacked on the merge request, since it would
63rewrite the commits the stack builds on. The iOS client renders the
64retarget but has no stack view yet.
65
57Creating from a fork works anywhere the source can be typed as 66Creating from a fork works anywhere the source can be typed as
58=owner/name:branch=; only the web lacks it. Retargeting moves an open 67=owner/name:branch=; only the web lacks it. Retargeting moves an open
59merge request onto another branch of the same repository and stales the 68merge request onto another branch of the same repository and stales the