tests/test-pull-pull-corruption2
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
Thu, 10 Jun 2010 11:49:48 +0200
changeset 11337 0f3c8a47960e
parent 2530 d181845bdc51
permissions -rwxr-xr-x
debugbuilddag: build a changelog dag from a concise description Useful in tests to quickly build a complex DAG in an empty repo. Handles local tags and named branches. Options to, at each rev, - create a new file, - overwrite the same file, - append to the same file, - write to a specific line in a mergeable file. Can run shell commands during DAG buildup.

#!/bin/sh
#
# Corrupt an hg repo with two pulls.
#

# create one repo with a long history
hg init source1
cd source1
touch foo
hg add foo
for i in 1 2 3 4 5 6 7 8 9 10; do
    echo $i >> foo
    hg ci -m $i
done
cd ..

# create a third repo to pull both other repos into it
hg init version2
hg -R version2 pull source1 &
sleep 1

hg clone --pull -U version2 corrupted
wait
hg -R corrupted verify
hg -R version2 verify