tests/test-newbranch
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 29 Dec 2007 17:11:48 +0300
changeset 5811 180a3eee4b75
parent 4410 bbc97d419b16
child 5988 ee317dbfb9d0
permissions -rwxr-xr-x
Fix copies reporting in log and convert. If copy logged in file revision, we report copy for changeset only if file revisions linkrev points back to the changeset in question or both changeset parents contain different file revisions. This fixes extra copies reported when executable bit was changed for previously copied file.

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