Stacked on !244. Finishes #111.
A push stales every review and nothing said what moved. A diff of the two
heads cannot answer it — that shows the whole branch again — and the
previous head was overwritten in place, so the question had no data
behind it. mr_heads records one row per revision with its merge base;
mr revisions lists them, mr range-diff compares the last two or any
two named with --from/--to, and the MR page links to it beside the
stale marks once there is more than one revision.
Two decisions worth reviewing:
- Each side carries its own base. The target moves; measuring both revisions against today's base would attribute every commit that landed on the target in between to this MR's author.
--creation-factor=80, not git's default 60. The default is tuned for comparing two independently developed patch series, where refusing to pair is safe. Here both sides are known to be revisions of one branch, and the commonest revision — a commit adding a file, with one line inside it later changed — is not paired at 60: git reports one commit deleted and another added, which tells a reviewer nothing. It pairs at 80, and genuinely unrelated commits are still left unpaired there. I measured both before picking the number, and reproduced the behaviour outside gitbay first to confirm it was git's heuristic and not my invocation.
#111's fourth bullet (mr diff truncating silently) landed in v1.11.0
with #117, so this closes it.
Closes #111
retargeted from mr-pending-review to main: !244 merged
2026-09-04 17:40 UTC