sapling/tests/test-newbranch

114 lines
1.7 KiB
Plaintext
Raw Normal View History

2006-10-18 03:48:41 +04:00
#!/bin/sh
branchcache=.hg/branchheads.cache
2006-10-18 03:48:41 +04:00
hg init t
cd t
2006-10-25 01:49:36 +04:00
hg branches
2006-10-18 03:48:41 +04:00
echo foo > a
hg add a
hg ci -m "initial"
2006-10-25 01:49:36 +04:00
hg branch foo
hg branch
hg ci -m "add branch name"
2006-10-25 01:49:36 +04:00
hg branch bar
hg ci -m "change branch name"
2007-03-13 00:50:19 +03:00
echo % branch shadowing
hg branch default
hg branch -f default
hg ci -m "clear branch name"
2006-10-18 03:48:41 +04:00
echo % there should be only one default branch head
hg heads .
2006-10-18 03:48:41 +04:00
hg co foo
2006-10-25 01:49:36 +04:00
hg branch
2006-10-18 03:48:41 +04:00
echo bleah > a
hg ci -m "modify a branch"
2006-10-18 03:48:41 +04:00
hg merge default
2006-10-25 01:49:36 +04:00
hg branch
hg ci -m "merge"
2006-10-18 03:48:41 +04:00
hg log
2006-10-25 01:49:36 +04:00
hg branches
hg branches -q
echo % test for invalid branch cache
hg rollback
cp $branchcache .hg/bc-invalid
hg log -r foo
cp .hg/bc-invalid $branchcache
hg --debug log -r foo
rm $branchcache
echo corrupted > $branchcache
hg log -qr foo
cat $branchcache
2007-03-11 04:36:29 +03:00
echo % push should update the branch cache
hg init ../target
echo % pushing just rev 0
hg push -qr 0 ../target
cat ../target/$branchcache
echo % pushing everything
hg push -qf ../target
cat ../target/$branchcache
2007-03-11 04:36:29 +03:00
echo % update with no arguments: tipmost revision of the current branch
hg up -q -C 0
hg up -q
hg id
hg up -q 1
hg up -q
hg id
hg branch foobar
hg up
2007-05-07 07:27:45 +04:00
echo % fastforward merge
hg branch ff
echo ff > ff
hg ci -Am'fast forward'
2007-05-07 07:27:45 +04:00
hg up foo
hg merge ff
hg branch
hg commit -m'Merge ff into foo'
2007-05-07 07:27:45 +04:00
hg parents
hg manifest
echo % test merging, add 3 default heads and one test head
cd ..
hg init merges
cd merges
echo a > a
hg ci -Ama
echo b > b
hg ci -Amb
hg up 0
echo c > c
hg ci -Amc
hg up 0
echo d > d
hg ci -Amd
hg up 0
hg branch test
echo e >> e
hg ci -Ame
hg log
echo % implicit merge with test branch as parent
hg merge
hg up -C default
echo % implicit merge with default branch as parent
hg merge
echo % 3 branch heads, explicit merge required
hg merge 2
hg ci -m merge
echo % 2 branch heads, implicit merge works
hg merge