Observed on ttorg/widget!1. main moved while the merge request was under review, so a fast-forward was refused. The author rebased; the diff against the merge base was unchanged; every approval went stale and the merge needed all three reviewers again, codeowners included. On an ff-only repository (this one) any merge request that waits behind another pays this on every catch-up.
CI already keys on the commit's tree (#177). Reviews key on the head sha. A review should stay fresh when the diff it approved is the diff still proposed: compare the merge-base diff (or the range-diff) of the old and new head rather than the sha.
Seen in the same run: the author's own approval, marked stale before the rebase, read as stale: false after it. It carries counts: false so nothing merged on it, but the flag is wrong.
Ref #185
closed by commit a5ee6a83a1 by cmc: gitutil, store, hookd, wiki: a rebase that keeps the diff keeps the approvals
2026-09-08 02:35 UTC