tests/test-newbranch
author Jesse Glick <jesse.glick@sun.com>
Fri, 25 Jan 2008 04:11:32 -0500
changeset 6150 aafdea37f796
parent 5988 ee317dbfb9d0
child 6160 3ee3bc5d06c5
permissions -rwxr-xr-x
Infer a --repository argument from command arguments when reasonable. In particular: if invoked without -R from a CWD not inside a repo, having been passed one or more file paths as command arguments, where the nearest enclosing repo of all of those paths is the same, quietly infer a -R option for that repo. Otherwise abort with an error message as before.

#!/bin/sh

hg init t
cd t
hg branches

echo foo > a
hg add a
hg ci -m "initial" -d "1000000 0"
hg branch foo
hg branch
hg ci -m "add branch name" -d "1000000 0"
hg branch bar
hg ci -m "change branch name" -d "1000000 0"
echo % branch shadowing
hg branch default
hg branch -f default
hg ci -m "clear branch name" -d "1000000 0"

hg co foo
hg branch
echo bleah > a
hg ci -m "modify a branch" -d "1000000 0"

hg merge
hg branch
hg ci -m "merge" -d "1000000 0"
hg log

hg branches
hg branches -q

echo % test for invalid branch cache
hg rollback
cp .hg/branch.cache .hg/bc-invalid
hg log -r foo
cp .hg/bc-invalid .hg/branch.cache
hg --debug log -r foo
rm .hg/branch.cache
echo corrupted > .hg/branch.cache
hg log -qr foo
cat .hg/branch.cache

echo % push should update the branch cache
hg init ../target
echo % pushing just rev 0
hg push -qr 0 ../target
cat ../target/.hg/branch.cache
echo % pushing everything
hg push -qf ../target
cat ../target/.hg/branch.cache

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

echo % fastforward merge
hg branch ff
echo ff > ff
hg ci -Am'fast forward' -d '1000000 0'
hg up foo
hg merge ff
hg branch
hg commit -m'Merge ff into foo' -d '1000000 0'
hg parents
hg manifest

exit 0