diff --git a/tests/test-pull-pull-corruption.out b/tests/test-pull-pull-corruption.out deleted file mode 100644 --- a/tests/test-pull-pull-corruption.out +++ /dev/null @@ -1,26 +0,0 @@ -requesting all changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -pulling from ../source2 -pulling from ../source1 -requesting all changes -adding changesets -adding manifests -adding file changes -added 10 changesets with 10 changes to 1 files -(run 'hg update' to get a working copy) -searching for changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files (+1 heads) -(run 'hg heads' to see heads, 'hg merge' to merge) -checking changesets -checking manifests -crosschecking files in changesets and manifests -checking files -1 files, 11 changesets, 11 total revisions diff --git a/tests/test-pull-pull-corruption b/tests/test-pull-pull-corruption.t old mode 100755 new mode 100644 rename from tests/test-pull-pull-corruption rename to tests/test-pull-pull-corruption.t --- a/tests/test-pull-pull-corruption +++ b/tests/test-pull-pull-corruption.t @@ -1,41 +1,70 @@ -#!/bin/sh -# -# Corrupt an hg repo with two pulls. -# +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 -# 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 .. + $ hg clone -r 0 source1 source2 + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ 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 -# create one repo with a shorter history -hg clone -r 0 source1 source2 -cd source2 -echo a >> foo -hg ci -m a -cd .. + $ 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 -# 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 + $ sleep 1 + $ hg pull ../source2 2>/dev/null + pulling from ../source2 + pulling from ../source1 + requesting all changes + adding changesets + adding manifests + adding file changes + added 10 changesets with 10 changes to 1 files + (run 'hg update' to get a working copy) + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files (+1 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) -# start a pull... -hg pull ../source1 & +see the result -# ... and start another pull before the first one has finished -sleep 1 -hg pull ../source2 2>/dev/null - -# see the result -wait -hg verify - + $ wait + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 1 files, 11 changesets, 11 total revisions