# HG changeset patch # User Matt Mackall # Date 1285526689 18000 # Node ID 70ef9b470efe991dc7299709825eae4d1f020c5a # Parent 4a5048c359d751178b99c5e987f5bdfa280ea3f0 tests: unify test-pull-pull-corruption diff -r 4a5048c359d7 -r 70ef9b470efe tests/test-pull-pull-corruption --- a/tests/test-pull-pull-corruption Sun Sep 26 13:44:49 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -#!/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 - diff -r 4a5048c359d7 -r 70ef9b470efe tests/test-pull-pull-corruption.out --- a/tests/test-pull-pull-corruption.out Sun Sep 26 13:44:49 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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 -r 4a5048c359d7 -r 70ef9b470efe tests/test-pull-pull-corruption.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-pull-pull-corruption.t Sun Sep 26 13:44:49 2010 -0500 @@ -0,0 +1,70 @@ +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 + 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 + + $ 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 + 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) + +see the result + + $ wait + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 1 files, 11 changesets, 11 total revisions