view tests/test-clone-pull-corruption @ 12408:78a97859b90d

revset: support raw string literals This adds support for r'...' and r"..." as string literals. Strings with the "r" prefix will not have their escape characters interpreted. This is especially useful for grep(), where, with regular string literals, \number is interpreted as an octal escape code, and \b is interpreted as the backspace character (\x08).
author Brodie Rao <brodie@bitheap.org>
date Fri, 24 Sep 2010 15:36:53 -0500
parents 81ca1a9bd061
children
line wrap: on
line source

#!/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