test-clone-pull-corruption
32 lines
| 619 B
| text/plain
|
TextLexer
/ tests / test-clone-pull-corruption
|
r1785 | #!/bin/sh | ||
# | ||||
# Corrupt an hg repo with a pull started during an aborted commit | ||||
# | ||||
# Create two repos, so that one of them can pull from the other one. | ||||
hg init source | ||||
cd source | ||||
touch foo | ||||
hg add foo | ||||
hg ci -m 'add foo' | ||||
hg clone . ../corrupted | ||||
echo >> foo | ||||
hg ci -m 'change foo' | ||||
# Add a hook to wait 5 seconds and then abort the commit | ||||
cd ../corrupted | ||||
echo '[hooks]' >> .hg/hgrc | ||||
echo 'pretxncommit = sleep 5; exit 1' >> .hg/hgrc | ||||
# start a commit... | ||||
touch bar | ||||
hg add bar | ||||
hg ci -m 'add bar' & | ||||
# ... and start a pull while the commit is still running | ||||
sleep 1 | ||||
hg pull ../source 2>/dev/null | ||||
# see what happened | ||||
wait | ||||
hg verify | ||||