tests/test-pull-pull-corruption2.t
author Patrick Mezard <patrick@mezard.eu>
Sun, 26 Feb 2012 17:12:15 +0100
changeset 16186 af3e67354beb
parent 12482 2f8740c639e4
permissions -rw-r--r--
graphlog: apply file filters --patch/--stat output When passing --patch/--stat, file filters have to be applied to generate the correct diff or stat output: - Without --follow, the static match object can be reused - With --follow, the files displayed at revision X are the ancestors of selected files at parent revision. To do this, we reproduce the ancestry calculations done by --follow, lazily. test-glog.t changes show that --patch output is not satisfying because renames are reported as copies. This can probably be fixed by: - Without --follow: compute files to display, look for renames sources and extend the matcher to include them. - With --follow: detect .path() transitions between parent/child filectx, filter them using the linked changectx .removed() field and extend fcache with them.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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