tests/test-newbranch
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Wed, 26 Sep 2007 01:58:45 -0300
changeset 5338 f87685355c9c
parent 4410 bbc97d419b16
permissions -rwxr-xr-x
revlog: fix revlogio.packentry corner case We want to store version information about the revlog in the first entry of its index. The code in packentry was using some heuristics to detect whether this was the first entry, but these heuristics could fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from the nullid and is stored as a delta). We now give the revision number to packentry to avoid heuristics.

#!/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 % 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