test-pull-pull-corruption.t
75 lines
| 1.7 KiB
| text/troff
|
Tads3Lexer
/ tests / test-pull-pull-corruption.t
|
r12481 | 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 | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files | ||||
|
r34662 | new changesets 495a0ec48aaf | ||
|
r12481 | 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... | ||||
|
r16481 | $ hg pull ../source1 > pull.out 2>&1 & | ||
|
r12481 | |||
... and start another pull before the first one has finished | ||||
$ sleep 1 | ||||
$ hg pull ../source2 2>/dev/null | ||||
pulling from ../source2 | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
|
r34662 | new changesets ca3c05af513e | ||
|
r12481 | (run 'hg heads' to see heads, 'hg merge' to merge) | ||
|
r16481 | $ cat pull.out | ||
pulling from ../source1 | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 10 changesets with 10 changes to 1 files | ||||
|
r34662 | new changesets 495a0ec48aaf:1e7b6c812ca8 | ||
|
r16481 | (run 'hg update' to get a working copy) | ||
|
r12481 | |||
see the result | ||||
$ wait | ||||
$ hg verify | ||||
checking changesets | ||||
checking manifests | ||||
crosschecking files in changesets and manifests | ||||
checking files | ||||
|
r39525 | checked 11 changesets with 11 changes to 1 files | ||
|
r16913 | |||
$ cd .. | ||||