tests/test-backwards-remove.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 28 Oct 2014 22:47:22 -0700
changeset 25233 9789b4a7c595
parent 12156 4c94b6d0fb1c
child 44724 5c2a4f37eace
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:
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     1
  $ hg init
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     2
  $ echo This is file a1 > a
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     3
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11857
diff changeset
     4
  $ hg commit -m "commit #0"
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     5
  $ ls
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     6
  a
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     7
  $ echo This is file b1 > b
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
     8
  $ hg add b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11857
diff changeset
     9
  $ hg commit -m "commit #1"
11857
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    10
  $ hg co 0
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    11
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    12
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    13
B should disappear
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    14
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    15
  $ ls
9661514f85ae tests: unify test-backwards-remove
Martin Geisler <mg@lazybytes.net>
parents: 1933
diff changeset
    16
  a