view tests/test-newbranch @ 6327:6d952dc2abc9

dirstate: refactor granularity code, add a test - rename option dirstate.granularity - move option reading into .write() - add a simple test
author Matt Mackall <mpm@selenic.com>
date Thu, 20 Mar 2008 13:53:59 -0500
parents 3ee3bc5d06c5
children 1fe6f365df2e
line wrap: on
line source

#!/bin/sh

branchcache=.hg/branch.cache

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 $branchcache .hg/bc-invalid
hg log -r foo
cp .hg/bc-invalid $branchcache
hg --debug log -r foo
rm $branchcache
echo corrupted > $branchcache
hg log -qr foo
cat $branchcache

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

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