mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
33 lines
619 B
Plaintext
33 lines
619 B
Plaintext
|
#!/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
|