diff tests/test-pull-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-pull-pull-corruption
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Corrupt an hg repo with two pulls.
+#
+
+# create one repo with a long history
+hg init source1
+cd source1
+touch foo
+hg add foo
+for i in 1 2 3 4 5 6 7 8 9 10; do
+    echo $i >> foo
+    hg ci -m $i
+done
+cd ..
+
+# create one repo with a shorter history
+hg clone -r 0 source1 source2
+cd source2
+echo a >> foo
+hg ci -m a
+cd ..
+
+# create a third repo to pull both other repos into it
+hg init corrupted
+cd corrupted
+# use a hook to make the second pull start while the first one is still running
+echo '[hooks]' >> .hg/hgrc
+echo 'prechangegroup = sleep 5' >> .hg/hgrc
+
+# start a pull...
+hg pull ../source1 &
+
+# ... and start another pull before the first one has finished
+sleep 1
+hg pull ../source2 2>/dev/null
+
+# see the result
+wait
+hg verify
+