tests/test-branches
author John Mulligan <phlogistonjohn@asynchrono.us>
Wed, 14 Jan 2009 21:47:38 -0500
changeset 7657 405cacb06745
parent 7006 92d44ec32430
child 8168 8766fee6f225
permissions -rwxr-xr-x
branch closing: add test for branch closing (and reopening)

#!/bin/sh

hg init a
cd a
echo 'root' >root
hg add root
hg commit -d '0 0' -u test -m "Adding root node"

echo 'a' >a
hg add a
hg branch a
hg commit -d '1 0' -u test -m "Adding a branch"

hg branch q
echo 'aa' >a
hg branch -C
hg commit -d '2 0' -u test -m "Adding to a branch"

hg update -C 0
echo 'b' >b
hg add b
hg branch b
hg commit -d '2 0' -u test -m "Adding b branch"

echo 'bh1' >bh1
hg add bh1
hg commit -d '3 0' -u test -m "Adding b branch head 1"

hg update -C 2
echo 'bh2' >bh2
hg add bh2
hg commit -d '4 0' -u test -m "Adding b branch head 2"

echo 'c' >c
hg add c
hg branch c
hg commit -d '5 0' -u test -m "Adding c branch"

echo 'd' >d
hg add d
hg branch 'a branch name much longer than the default justification used by branches'
hg commit -d '6 0' -u test -m "Adding d branch"

hg branches
echo '-------'
hg branches -a

echo "--- Branch a"
hg log -b a

echo "---- Branch b"
hg log -b b

echo "---- going to test branch closing"
hg branches
hg up -C b
echo 'xxx1' >> b
hg commit -d '7 0' -u test -m 'adding cset to branch b'
hg up -C aee39cd168d0
echo 'xxx2' >> b
hg commit -d '8 0' -u test -m 'adding head to branch b'
echo 'xxx3' >> b
hg commit -d '9 0' -u test -m 'adding another cset to branch b'
hg branches
hg heads
hg heads -a
hg commit -d '9 0' -u test --close-branch -m 'prune bad branch'
hg branches -a
hg up -C b
hg commit -d '9 0' -u test --close-branch -m 'close this part branch too'
echo '--- b branch should be inactive'
hg branches
hg branches -a
echo 'xxx4' >> b
hg commit -d '9 0' -u test -m 'reopen branch with a change'
echo '--- branch b is back in action'
hg branches -a
hg heads
hg heads -a