del transaction before lock before wlock
This way rollbacks happen while the repo is still locked.
Deleting lock before wlock is not strictly necessary, but is
more consistent with the locking order.
#!/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 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"
hg branches
echo '-------'
hg branches -a