Mercurial > hg
view tests/test-bheads @ 9717:68a1b9d0663e
update: allow branch crossing without -c or -C, with no uncommitted changes
Update will now allow crossing branches within the same named branch,
when given a specific revision, if the working dir is clean, without
requiring the -c or -C option. Abort if no revision is given and
this would cross branches. Minor change to abort message if
uncommitted changes are found.
Modify test-update-branches and output to reflect the altered case. Modify
test-merge5.out to reflect the altered case. Modify
test-up-local-change.out with new message.
author | Stuart W Marks <smarks@smarks.org> |
---|---|
date | Thu, 05 Nov 2009 10:53:59 +0100 |
parents | 5b7da468531b |
children | fd511e9eeea6 |
line wrap: on
line source
#!/bin/sh heads() { hg heads --template '{rev}: {desc|firstline|strip}\n' "$@" } hg init a cd a echo 'root' >root hg add root hg commit -m "Adding root node" heads echo '-------' heads . echo '=======' echo 'a' >a hg add a hg branch a hg commit -m "Adding a branch" heads echo '-------' heads . echo '=======' hg update -C 0 echo 'b' >b hg add b hg branch b hg commit -m "Adding b branch" heads echo '-------' heads . echo '=======' echo 'bh1' >bh1 hg add bh1 hg commit -m "Adding b branch head 1" heads echo '-------' heads . echo '=======' hg update -C 2 echo 'bh2' >bh2 hg add bh2 hg commit -m "Adding b branch head 2" heads echo '-------' heads . echo '=======' hg update -C 2 echo 'bh3' >bh3 hg add bh3 hg commit -m "Adding b branch head 3" heads echo '-------' heads . echo '=======' hg merge 4 hg commit -m "Merging b branch head 2 and b branch head 3" heads echo '-------' heads . echo '=======' echo 'c' >c hg add c hg branch c hg commit -m "Adding c branch" heads echo '-------' heads . echo '=======' heads -r 3 . echo $? echo '-------' heads -r 2 . echo $? echo '-------' hg update -C 4 echo $? echo '-------' heads -r 3 . echo $? echo '-------' heads -r 2 . echo $? echo '-------' heads -r 7 . echo $? echo '=======' for i in 0 1 2 3 4 5 6 7; do hg update -C "$i" heads echo '-------' heads . echo '-------' done echo '=======' for i in a b c z; do heads "$i" echo '-------' done echo '=======' heads 0 1 2 3 4 5 6 7