Reviews keyed on the head sha, so a rebase onto a moved target staled every approval although the merge-base diff was unchanged. post-receive now compares the patch-id of each revision against its own merge base; when they match, fresh reviews move to the new head instead of going stale. Already-stale reviews stay stale; a changed diff stales as before. Store unit test and an e2e with one same-diff rebase and one content change. The existing stale-approval e2e amended a message only, which is now the case that keeps the approval; it changes content.
Closes #198
retargeted from effective-access to main: !341 merged
2026-09-08 02:35 UTC