tests/test-diff-copy-depth.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 28 Oct 2014 22:47:22 -0700
changeset 25233 9789b4a7c595
parent 12150 bca69641de61
permissions -rw-r--r--
match: introduce boolean prefix() method tl;dr: This is another step towards a (previously unstated) goal of eliminating match.files() in conditions. There are four types of matchers: * always: Matches everything, checked with always(), files() is empty * exact: Matches exact set of files, checked with isexact(), files() contains the files to match * patterns: Matches more complex patterns, checked with anypats(), files() contains roots of the matched patterns * prefix: Matches simple 'path:' patterns as prefixes ('foo' matches both 'foo' and 'foo/bar'), no single method to check, files() contains the prefixes to match For completeness, it would be nice to have a method for checking for the "prefix" type of matcher as well, so let's add that, making it return True simply when none of the others do. The larger goal here is to eliminate uses of match.files() in conditions (i.e. bool(match.files())). The reason for this is that there are scenarios when you would like to create a "prefix" matcher that happens to match no files. One example is for 'hg files -I foo bar'. The narrowmatcher also restricts the set of files given and it would not surprise me if have bugs caused by that already. Note that 'if m.files() and not m.anypats()' and similar is sometimes used to catch the "exact" and "prefix" cases above.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12150
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     1
  $ for i in aaa zzz; do
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     2
  >     hg init t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     3
  >     cd t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     4
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     5
  >     echo
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     6
  >     echo "-- With $i"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     7
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     8
  >     touch file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
     9
  >     hg add file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    10
  >     hg ci -m "Add"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    11
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    12
  >     hg cp file $i
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    13
  >     hg ci -m "a -> $i"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    14
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    15
  >     hg cp $i other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    16
  >     echo "different" >> $i
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    17
  >     hg ci -m "$i -> other-file"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    18
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    19
  >     hg cp other-file somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    20
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    21
  >     echo "Status":
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    22
  >     hg st -C
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    23
  >     echo
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    24
  >     echo "Diff:"
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    25
  >     hg diff -g
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    26
  > 
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    27
  >     cd ..
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    28
  >     rm -rf t
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    29
  > done
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    30
  
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    31
  -- With aaa
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    32
  Status:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    33
  A somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    34
    other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    35
  
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    36
  Diff:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    37
  diff --git a/other-file b/somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    38
  copy from other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    39
  copy to somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    40
  
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    41
  -- With zzz
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    42
  Status:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    43
  A somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    44
    other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    45
  
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    46
  Diff:
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    47
  diff --git a/other-file b/somename
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    48
  copy from other-file
bca69641de61 tests: unify test-diff-copy-depth
Adrian Buehlmann <adrian@cadifra.com>
parents: 6489
diff changeset
    49
  copy to somename
6424
d8f44384c3ee copies: sort old names by depth
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    50
d8f44384c3ee copies: sort old names by depth
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    51