view tests/test-merge-closedheads @ 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 ca8d05e1f1d1
children ee876e42dd74
line wrap: on
line source

#!/bin/sh

hgcommit() {
    hg commit -u user -d '0 0' "$@"
}

hg init clhead
cd clhead


touch foo && hg add && hgcommit -m 'foo'
touch bar && hg add && hgcommit -m 'bar'
touch baz && hg add && hgcommit -m 'baz'

echo "flub" > foo
hgcommit -m "flub"
echo "nub" > foo
hgcommit -m "nub"

hg up -C 2

echo "c1" > c1
hg add c1
hgcommit -m "c1"
echo "c2" > c1
hgcommit -m "c2"

hg up -C 2

echo "d1" > d1
hg add d1
hgcommit -m "d1"
echo "d2" > d1
hgcommit -m "d2"
hg tag -l good

echo '% fail with three heads'
hg up -C good
hg merge

echo '% close one of the heads'
hg up -C 6
hgcommit -m 'close this head' --close-branch

echo '% succeed with two open heads'
hg up -C good
hg up -C good
hg merge
hgcommit -m 'merged heads'