Mercurial > hg
annotate tests/test-pull-pull-corruption2.t @ 16366:913d1fa61398
mq: use list of already known target files instead of matching object for diff
'hg qnew' passes matching object to 'patch.diff()' to specify target
filenames, and it causes 'dirstate.walk()' via 'repo.status()' in
'patch.diff()'.
but target files are already known before 'patch.diff()' invocation.
to avoid useless 'dirstate.walk()' invocation, this patch uses
'changes' argument to pass already known target files to
'patch.diff()' instead of 'match' argument.
'changes' argument of 'patch.diff()' should have lists for modified,
added and removed files separately, so this patch saves status of
'.hgsubstate' before commit, and put it into appropriate list in
'changes'.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 05 Apr 2012 23:52:55 +0900 |
parents | 2f8740c639e4 |
children |
rev | line source |
---|---|
12482
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
1 Corrupt an hg repo with two pulls. |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
2 create one repo with a long history |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
3 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
4 $ hg init source1 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
5 $ cd source1 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
6 $ touch foo |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
7 $ hg add foo |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
8 $ for i in 1 2 3 4 5 6 7 8 9 10; do |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
9 > echo $i >> foo |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
10 > hg ci -m $i |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
11 > done |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
12 $ cd .. |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
13 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
14 create a third repo to pull both other repos into it |
2000
6f6e210b38cf
add benoit's test for issue148.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 |
12482
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
16 $ hg init version2 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
17 $ hg -R version2 pull source1 & |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
18 $ sleep 1 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
19 pulling from source1 |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
20 requesting all changes |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
21 adding changesets |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
22 adding manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
23 adding file changes |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
24 added 10 changesets with 10 changes to 1 files |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
25 (run 'hg update' to get a working copy) |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
26 $ hg clone --pull -U version2 corrupted |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
27 requesting all changes |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
28 adding changesets |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
29 adding manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
30 adding file changes |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
31 added 10 changesets with 10 changes to 1 files |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
32 $ wait |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
33 $ hg -R corrupted verify |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
34 checking changesets |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
35 checking manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
36 crosschecking files in changesets and manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
37 checking files |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
38 1 files, 10 changesets, 10 total revisions |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
39 $ hg -R version2 verify |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
40 checking changesets |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
41 checking manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
42 crosschecking files in changesets and manifests |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
43 checking files |
2f8740c639e4
tests: unify test-pull-pull-corruption2
Matt Mackall <mpm@selenic.com>
parents:
2530
diff
changeset
|
44 1 files, 10 changesets, 10 total revisions |