view tests/test-issue322 @ 7654:816b708f23af

store all heads of a branch in the branch cache All heads of branches will be stored in a new cache file 'branchheads.cache' within the .hg directory. The old 'branch.cache' file from older versions will be ignored. The new cache contents are formatted line-by-line as '{node} {branchtag}\n'. This is the same as the previous format. Now, every head is recorded in an oldest -> tipmost order. The localrepo.branchheads function is reworked to use the data from the cache.
author John Mulligan <phlogistonjohn@asynchrono.us>
date Wed, 14 Jan 2009 21:47:38 -0500
parents 7a7d4937272b
children 1de6e7e1bb9f
line wrap: on
line source

#!/bin/sh
# http://www.selenic.com/mercurial/bts/issue322

echo % file replaced with directory

hg init a
cd a
echo a > a
hg commit -Ama
rm a
mkdir a
echo a > a/a

echo % should fail - would corrupt dirstate
hg add a/a

cd ..

echo % directory replaced with file

hg init c
cd c
mkdir a
echo a > a/a
hg commit -Ama

rm -r a
echo a > a

echo % should fail - would corrupt dirstate
hg add a

cd ..

echo % directory replaced with file

hg init d
cd d
mkdir b
mkdir b/c
echo a > b/c/d
hg commit -Ama
rm -r b
echo a > b

echo % should fail - would corrupt dirstate
hg add b

exit 0