Ref T5197. When searching for split branch heads, we incorrectly consider descendant heads of other branches. This can cause us to detect a split tip when one does not exist (the old tip is the branch tip, but other descendant heads exist). Instead, consider only heads on the same branch.
- Maniphest Tasks
- T5197: Push log doesn't handle pushes with > 2 commits
- Restricted Diffusion Commit
rP66af361f10d8: Fix a Mercurial issue where split heads would be detected incorrectly
Repro is something like this:
- hg update default
- hg branch branch1; hg commit ...
- hg push
- hg update default; hg commit ...
- hg push - Previously, we would find the head of branch1 and incorrectly account for it as a head of default.