mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
branch heads: fix regression introduced in 084c96645721 (issue1726)
For merge nodes it is not adequate to only check a single possible branch head for whether it is an ancestor of the latest head, but it needs to be done for each possible branch head.
This commit is contained in:
parent
2f4412b3b9
commit
a44e9f8977
@ -473,7 +473,9 @@ class localrepository(repo.repository):
|
||||
latest = newnodes.pop()
|
||||
if latest not in bheads:
|
||||
continue
|
||||
reachable = self.changelog.reachable(latest, bheads[0])
|
||||
reachable = set()
|
||||
for bh in bheads:
|
||||
reachable |= self.changelog.reachable(latest, bh)
|
||||
bheads = [b for b in bheads if b not in reachable]
|
||||
newbheads.insert(0, latest)
|
||||
bheads.extend(newbheads)
|
||||
|
@ -185,6 +185,18 @@ echo % fetch should succeed
|
||||
hg --cwd ib2 fetch ../ib1
|
||||
rm -fr ib1 ib2
|
||||
|
||||
echo % test issue1726
|
||||
hg init i1726r1
|
||||
echo a > i1726r1/a
|
||||
hg --cwd i1726r1 ci -Am base
|
||||
hg clone i1726r1 i1726r2
|
||||
echo b > i1726r1/a
|
||||
hg --cwd i1726r1 ci -m second
|
||||
echo c > i1726r2/a
|
||||
hg --cwd i1726r2 ci -m third
|
||||
HGMERGE=true hg --cwd i1726r2 fetch ../i1726r1 | sed 's/new changeset 3:[0-9a-zA-Z]\+/new changeset 3/'
|
||||
hg --cwd i1726r2 heads default --template '{rev}\n'
|
||||
|
||||
"$TESTDIR/killdaemons.py"
|
||||
|
||||
true
|
||||
|
@ -190,3 +190,20 @@ updating working directory
|
||||
pulling from ../ib1
|
||||
searching for changes
|
||||
no changes found
|
||||
% test issue1726
|
||||
adding a
|
||||
updating working directory
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
pulling from ../i1726r1
|
||||
searching for changes
|
||||
adding changesets
|
||||
adding manifests
|
||||
adding file changes
|
||||
added 1 changesets with 1 changes to 1 files (+1 heads)
|
||||
updating to 2:7837755a2789
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
merging with 1:d1f0c6c48ebd
|
||||
merging a
|
||||
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
|
||||
new changeset 3 merges remote changes with local
|
||||
3
|
||||
|
Loading…
Reference in New Issue
Block a user