##// END OF EJS Templates
merge with stable
merge with stable

File last commit:

r1785:81ca1a9b default
r9898:b5170b8b merge default
Show More
test-pull-pull-corruption
41 lines | 747 B | text/plain | TextLexer
/ tests / test-pull-pull-corruption
#!/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 one repo with a shorter history
hg clone -r 0 source1 source2
cd source2
echo a >> foo
hg ci -m a
cd ..
# create a third repo to pull both other repos into it
hg init corrupted
cd corrupted
# use a hook to make the second pull start while the first one is still running
echo '[hooks]' >> .hg/hgrc
echo 'prechangegroup = sleep 5' >> .hg/hgrc
# start a pull...
hg pull ../source1 &
# ... and start another pull before the first one has finished
sleep 1
hg pull ../source2 2>/dev/null
# see the result
wait
hg verify