tests/test-bundle-type.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 28 Oct 2014 22:47:22 -0700
changeset 25233 9789b4a7c595
parent 24138 eabe44ec5af5
child 26511 bb3d961c1648
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:
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     1
bundle w/o type option
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     3
  $ hg init t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     4
  $ hg init t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     5
  $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     6
  $ echo blablablablabla > file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     7
  $ hg ci -Ama
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     8
  adding file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     9
  $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    10
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    11
  $ hg bundle ../b1 ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    12
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    13
  1 changesets found
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    14
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    15
  $ cd ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    16
  $ hg pull ../b1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    17
  pulling from ../b1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    18
  requesting all changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    19
  adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    20
  adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    21
  adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    22
  added 1 changesets with 1 changes to 1 files
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    23
  (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    24
  $ hg up
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    25
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    26
  $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    27
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    28
  $ cd ..
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    29
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    30
test bundle types
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    31
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    32
  $ for t in "None" "bzip2" "gzip"; do
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    33
  >   echo % test bundle type $t
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    34
  >   hg init t$t
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    35
  >   cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    36
  >   hg bundle -t $t ../b$t ../t$t
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    37
  >   cut -b 1-6 ../b$t | head -n 1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    38
  >   cd ../t$t
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    39
  >   hg pull ../b$t
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    40
  >   hg up
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    41
  >   hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    42
  >   cd ..
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    43
  > done
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    44
  % test bundle type None
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    45
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    46
  1 changesets found
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    47
  HG10UN
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    48
  pulling from ../bNone
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    49
  requesting all changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    50
  adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    51
  adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    52
  adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    53
  added 1 changesets with 1 changes to 1 files
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    54
  (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    55
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    56
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    57
  % test bundle type bzip2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    58
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    59
  1 changesets found
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    60
  HG10BZ
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    61
  pulling from ../bbzip2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    62
  requesting all changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    63
  adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    64
  adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    65
  adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    66
  added 1 changesets with 1 changes to 1 files
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    67
  (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    68
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    69
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    70
  % test bundle type gzip
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    71
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    72
  1 changesets found
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    73
  HG10GZ
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    74
  pulling from ../bgzip
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    75
  requesting all changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    76
  adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    77
  adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    78
  adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    79
  added 1 changesets with 1 changes to 1 files
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    80
  (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    81
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    82
  summary:     a
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    83
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    84
test garbage file
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    85
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    86
  $ echo garbage > bgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    87
  $ hg init tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    88
  $ cd tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    89
  $ hg pull ../bgarbage
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16427
diff changeset
    90
  pulling from ../bgarbage
12044
bcc7139521b7 bundlerepo: remove duplication of bundle decompressors
Matt Mackall <mpm@selenic.com>
parents: 11872
diff changeset
    91
  abort: ../bgarbage: not a Mercurial bundle
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
    92
  [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    93
  $ cd ..
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    94
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    95
test invalid bundle type
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    96
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    97
  $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    98
  $ hg bundle -a -t garbage ../bgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    99
  abort: unknown bundle type specified with --type
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
   100
  [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   101
  $ cd ..