mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
5b2af56e00
(submitted by Alexis S. L. Carvalho <alexis@cecm.usp.br>)
33 lines
619 B
Bash
Executable File
33 lines
619 B
Bash
Executable File
#!/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
|