update: add comments and test cases for updating across branches
Add comment to merge.py:update() showing various cases of 'hg update': to a
descendant, crossing named branches, and crossing branches within a named
branch; with no option, -c or -C; with or without uncommitted changes; and
with or without a specific revision. Add tests for all of these cases.
#!/bin/sh
# N.B. bzr 1.13 has a bug that breaks this test. If you see this
# test fail, check your bzr version. Upgrading to bzr 1.13.1
# should fix it.
. "$TESTDIR/bzr-definitions"
echo % test multiple merges at once
mkdir test-multimerge
cd test-multimerge
bzr init -q source
cd source
echo content > file
bzr add -q file
bzr commit -q -m 'Initial add'
cd ..
bzr branch -q source source-branch1
cd source-branch1
echo morecontent >> file
echo evenmorecontent > file-branch1
bzr add -q file-branch1
bzr commit -q -m 'Added branch1 file'
cd ../source
sleep 1
echo content > file-parent
bzr add -q file-parent
bzr commit -q -m 'Added parent file'
cd ..
bzr branch -q source source-branch2
cd source-branch2
echo somecontent > file-branch2
bzr add -q file-branch2
bzr commit -q -m 'Added brach2 file'
sleep 1
cd ../source
bzr merge -q ../source-branch1
bzr merge -q --force ../source-branch2
bzr commit -q -m 'Merged branches'
cd ..
hg convert --datesort source source-hg
glog -R source-hg
manifest source-hg tip