view tests/test-newbranch @ 4203:aee3d312c32e

Add test for branch shadowing
author Brendan Cully <brendan@kublai.com>
date Mon, 12 Mar 2007 14:50:19 -0700
parents fc12ac3755d5
children dbc3846c09a1
line wrap: on
line source

#!/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 ""
hg branch -f ''
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/branches.cache .hg/bc-invalid
hg log -r foo
cp .hg/bc-invalid .hg/branches.cache
hg --debug log -r foo
rm .hg/branches.cache
echo corrupted > .hg/branches.cache
hg log -qr foo
cat .hg/branches.cache

echo % test for different branch cache features
echo '4909a3732169c0c20011c4f4b8fdff4e3d89b23f 4' > .hg/branches.cache
hg branches --debug
echo ' features: unnamed dummy foo bar' > .hg/branches.cache
hg branches --debug
echo ' features: dummy' > .hg/branches.cache
hg branches --debug

echo % test old hg reading branch cache with feature list
python << EOF
import binascii
f = file('.hg/branches.cache')
lines = f.read().split('\n')
f.close()
firstline = lines[0]
last, lrev = lines.pop(0).rstrip().split(" ", 1)
try:
    last, lrev = binascii.unhexlify(last), int(lrev)
except ValueError, inst:
    if str(inst) == "invalid literal for int():%s" % firstline:
        print "ValueError raised correctly, good."
    else:
        print "ValueError: %s" % inst
EOF

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