diff tests/test-clone-pull-corruption @ 1785:81ca1a9bd061

Added test cases for repo corruption fixed in 2e0a288ca93e (issue132) (submitted by Alexis S. L. Carvalho <alexis@cecm.usp.br>)
author Thomas Arendsen Hein <thomas@intevation.de>
date Wed, 22 Feb 2006 07:45:14 +0100
parents
children
line wrap: on
line diff
new file mode 100755
--- /dev/null
+++ b/tests/test-clone-pull-corruption
@@ -0,0 +1,32 @@
+#!/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