view tests/test-pull-branch @ 10505:b3311e26f94f stable

merge: fix --preview to show all nodes that will be merged (issue2043). Formerly, it omitted nodes that were not descendants of the least common ancestor of the two merge parents, even though those nodes contribute to the merge. The new algorithm uses revlog.findmissing() instead of ancestor() + nodesbetween().
author Greg Ward <greg-hg@gerg.ca>
date Mon, 15 Feb 2010 15:25:29 -0500
parents e17dbf140035
children
line wrap: on
line source

#!/bin/sh

hg init t
cd t
echo 1 > foo
hg ci -Am1 # 0
hg branch branchA
echo a1 > foo
hg ci -ma1 # 1

cd ..
hg init tt
cd tt
hg pull ../t
hg up branchA

cd ../t
echo a2 > foo
hg ci -ma2 # 2
echo % create branch B
hg up 0
hg branch branchB
echo b1 > foo
hg ci -mb1 # 3

cd ../tt
echo % a new branch is there
hg pull -u ../t

echo % develop both branch
cd ../t
hg up branchA
echo a3 > foo
hg ci -ma3 # 4
hg up branchB
echo b2 > foo
hg ci -mb2 # 5

cd ../tt
echo % should succeed, no new heads
hg pull -u ../t

echo % add an head on other branch
cd ../t
hg up branchA
echo a4 > foo
hg ci -ma4 # 6
hg up branchB
echo b3.1 > foo
hg ci -m b3.1 # 7
hg up 5
echo b3.2 > foo
hg ci -m b3.2 # 8

cd ../tt
echo % should succeed only one head on our branch
hg pull -u ../t

cd ../t
hg up -C branchA
echo a5.1 > foo
hg ci -ma5.1 # 9
hg up 6
echo a5.2 > foo
hg ci -ma5.2 # 10
hg up 7
echo b4.1 > foo
hg ci -m b4.1 # 11
hg up -C 8
echo b4.2 > foo
hg ci -m b4.2 # 12

cd ../tt
echo % should fail new head in our branch
hg pull -u ../t