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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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