tests/test-diff-hashes.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 28 Oct 2014 22:47:22 -0700
changeset 25233 9789b4a7c595
parent 16913 f2719b387380
child 41784 251332dbf33d
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:
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     1
  $ hg init a
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     2
  $ cd a
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     3
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     4
  $ hg diff inexistent1 inexistent2
15521
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 12156
diff changeset
     5
  inexistent1: * (glob)
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 12156
diff changeset
     6
  inexistent2: * (glob)
3387
2065789f6a3e use short hashes with diff -v
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     7
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     8
  $ echo bar > foo
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
     9
  $ hg add foo
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    10
  $ hg ci -m 'add foo'
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    11
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    12
  $ echo foobar > foo
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    13
  $ hg ci -m 'change foo'
3387
2065789f6a3e use short hashes with diff -v
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    14
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    15
  $ hg --quiet diff -r 0 -r 1
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    16
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    17
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    18
  @@ -1,1 +1,1 @@
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    19
  -bar
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    20
  +foobar
3387
2065789f6a3e use short hashes with diff -v
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    21
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    22
  $ hg diff -r 0 -r 1
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    23
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    24
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    25
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    26
  @@ -1,1 +1,1 @@
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    27
  -bar
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    28
  +foobar
3387
2065789f6a3e use short hashes with diff -v
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    29
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    30
  $ hg --verbose diff -r 0 -r 1
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    31
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    32
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    33
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    34
  @@ -1,1 +1,1 @@
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    35
  -bar
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    36
  +foobar
3387
2065789f6a3e use short hashes with diff -v
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    37
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    38
  $ hg --debug diff -r 0 -r 1
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    39
  diff -r a99fb63adac3f31816a22f665bc3b7a7655b30f4 -r 9b8568d3af2f1749445eef03aede868a6f39f210 foo
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    40
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 12137
diff changeset
    41
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
12137
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    42
  @@ -1,1 +1,1 @@
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    43
  -bar
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    44
  +foobar
e1814ff260c2 tests: unify test-diff-hashes
Adrian Buehlmann <adrian@cadifra.com>
parents: 5689
diff changeset
    45
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15521
diff changeset
    46
  $ cd ..