Fix a Mercurial issue where split heads would be detected incorrectly
Summary: 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.
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.
Reviewed By: btrahan
Maniphest Tasks: T5197
Differential Revision: https://secure.phabricator.com/D9308