view tests/test-addremove-similar @ 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 8d982aef0be1
children 1a96f1d9599b
line wrap: on
line source

#!/bin/sh

hg init rep; cd rep

touch empty-file
python -c 'for x in range(10000): print x' > large-file

hg addremove

hg commit -m A

rm large-file empty-file
python -c 'for x in range(10,10000): print x' > another-file

hg addremove -s50

hg commit -m B

echo % comparing two empty files caused ZeroDivisionError in the past
hg update -C 0
rm empty-file
touch another-empty-file
hg addremove -s50

cd ..

hg init rep2; cd rep2

python -c 'for x in range(10000): print x' > large-file
python -c 'for x in range(50): print x' > tiny-file

hg addremove

hg commit -m A

python -c 'for x in range(70): print x' > small-file
rm tiny-file
rm large-file

hg addremove -s50

hg commit -m B

echo % should all fail
hg addremove -s foo
hg addremove -s -1
hg addremove -s 1e6

true