tests/test-diff-subdir.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 20 Feb 2019 15:39:01 -0800
changeset 41751 4ec0ce0fb929
parent 24455 16961d43dc89
permissions -rw-r--r--
tests: add tests of pathcopies() I'm working on support for storing copy metadata in the changeset instead of in the filelog. When storing it in the changeset, it will obviously be efficient to get the copy metadata for all files in a single changeset, but it will be more expensive to get the copy metadata all revisions of a single file. Some algorithms will then need to be optimized differently. The first method I'm going to rewrite is pathcopies(). This commit adds many tests for pathcopies(), so we can run the tests with both old and new versions of the code, as well as with metadata stored in filelog or in changeset (later). They use the debugpathcopies command I recently added (with no tests when it was added). They show a few bugs and few cases of slightly weird behavior. I'll fix the bugs in the next few commits. Differential Revision: https://phab.mercurial-scm.org/D5986
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     1
  $ hg init
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
     2
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     3
  $ mkdir alpha
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     4
  $ touch alpha/one
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     5
  $ mkdir beta
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     6
  $ touch beta/two
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
     7
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     8
  $ hg add alpha/one beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
     9
  $ hg ci -m "start"
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
    10
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    11
  $ echo 1 > alpha/one
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    12
  $ echo 2 > beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    13
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    14
everything
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
    15
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    16
  $ hg diff --nodates
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    17
  diff -r 7d5ef1aea329 alpha/one
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    18
  --- a/alpha/one
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    19
  +++ b/alpha/one
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    20
  @@ -0,0 +1,1 @@
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    21
  +1
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    22
  diff -r 7d5ef1aea329 beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    23
  --- a/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    24
  +++ b/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    25
  @@ -0,0 +1,1 @@
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    26
  +2
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
    27
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    28
beta only
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
    29
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    30
  $ hg diff --nodates beta
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    31
  diff -r 7d5ef1aea329 beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    32
  --- a/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    33
  +++ b/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    34
  @@ -0,0 +1,1 @@
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    35
  +2
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    36
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    37
inside beta
2879
66eff8355168 tests: new test for hg diff of a subdirectory only
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
    38
12140
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    39
  $ cd beta
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    40
  $ hg diff --nodates .
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    41
  diff -r 7d5ef1aea329 beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    42
  --- a/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    43
  +++ b/beta/two
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    44
  @@ -0,0 +1,1 @@
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    45
  +2
552ea44c1842 tests: unify test-diff-subdir
Adrian Buehlmann <adrian@cadifra.com>
parents: 3199
diff changeset
    46
24432
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    47
relative to beta
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    48
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12140
diff changeset
    49
  $ cd ..
24455
16961d43dc89 diff: rename --relative option to --root
Sean Farley <sean@farley.io>
parents: 24432
diff changeset
    50
  $ hg diff --nodates --root beta
24432
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    51
  diff -r 7d5ef1aea329 two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    52
  --- a/two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    53
  +++ b/two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    54
  @@ -0,0 +1,1 @@
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    55
  +2
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    56
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    57
inside beta
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    58
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    59
  $ cd beta
24455
16961d43dc89 diff: rename --relative option to --root
Sean Farley <sean@farley.io>
parents: 24432
diff changeset
    60
  $ hg diff --nodates --root .
24432
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    61
  diff -r 7d5ef1aea329 two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    62
  --- a/two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    63
  +++ b/two
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    64
  @@ -0,0 +1,1 @@
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    65
  +2
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    66
e22248f6d257 commands.diff: add support for diffs relative to a subdirectory
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    67
  $ cd ..