Mercurial > hg
view tests/test-pull-pull-corruption.t @ 16331:900767dfa80d stable
tests: fix portability of sed usage in test-mq
on some platform (Mac OS X and Solaris, at least), to insert new text
line, sed function 'i' should be followed by:
- backslash('\'),
- new-line,
- text to be inserted and
- new-line
GNU sed on Linux can recognize both previous and new ones as same
modification request.
in addition to it, this patch avoids to use '-i' option for sed,
because it is not so portable, as noted in WritingTests wiki page.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sun, 01 Apr 2012 18:18:48 +0900 |
parents | d724a69309e0 |
children | 37e0872b5ced |
line wrap: on
line source
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 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 pulling from ../source1 requesting all changes $ hg pull ../source2 2>/dev/null pulling from ../source2 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