tests/test-locate.t
author Durham Goode <durham@fb.com>
Tue, 14 Jan 2014 13:49:19 -0800
changeset 20292 8dc254198a8f
parent 16912 6ef3107c661e
child 22423 edf07a804ac4
permissions -rw-r--r--
changectx: increase perf of walk function When running 'hg cat -r . <file>' it was doing an expensive ctx.walk(m) which applied the regex to every file in the manifest. This changes changectx.walk to iterate over just the files in the regex, if no other patterns are specified. This cuts hg cat time by 50% in our repo and probably benefits a few other commands as well.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16912
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
     1
  $ hg init repo
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
     2
  $ cd repo
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     3
  $ echo 0 > a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     4
  $ echo 0 > b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     5
  $ echo 0 > t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     6
  $ mkdir t
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     7
  $ echo 0 > t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     8
  $ echo 0 > t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
     9
  $ echo 0 > t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    10
  $ mkdir dir.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    11
  $ echo 0 > dir.h/foo
4234
fe0c0a317c09 make the output of test-locate more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4196
diff changeset
    12
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    13
  $ hg ci -A -m m
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    14
  adding a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    15
  adding b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    16
  adding dir.h/foo
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    17
  adding t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    18
  adding t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    19
  adding t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    20
  adding t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    21
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    22
  $ touch nottracked
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    23
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    24
  $ hg locate a
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    25
  a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    26
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    27
  $ hg locate NONEXISTENT
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
    28
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    29
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    30
  $ hg locate
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    31
  a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    32
  b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    33
  dir.h/foo
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    34
  t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    35
  t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    36
  t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    37
  t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    38
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    39
  $ hg rm a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    40
  $ hg ci -m m
4234
fe0c0a317c09 make the output of test-locate more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4196
diff changeset
    41
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    42
  $ hg locate a
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12206
diff changeset
    43
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    44
  $ hg locate NONEXISTENT
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12206
diff changeset
    45
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    46
  $ hg locate relpath:NONEXISTENT
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12206
diff changeset
    47
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    48
  $ hg locate
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    49
  b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    50
  dir.h/foo
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    51
  t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    52
  t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    53
  t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    54
  t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    55
  $ hg locate -r 0 a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    56
  a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    57
  $ hg locate -r 0 NONEXISTENT
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12206
diff changeset
    58
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    59
  $ hg locate -r 0 relpath:NONEXISTENT
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12206
diff changeset
    60
  [1]
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    61
  $ hg locate -r 0
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    62
  a
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    63
  b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    64
  dir.h/foo
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    65
  t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    66
  t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    67
  t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    68
  t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    69
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    70
-I/-X with relative path should work:
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    71
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    72
  $ cd t
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    73
  $ hg locate
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    74
  b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    75
  dir.h/foo
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    76
  t.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    77
  t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    78
  t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    79
  t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    80
  $ hg locate -I ../t
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    81
  t/b
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    82
  t/e.h
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    83
  t/x
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    84
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12365
diff changeset
    85
Issue294: hg remove --after dir fails when dir.* also exists
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    86
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    87
  $ cd ..
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    88
  $ rm -r t
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    89
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    90
  $ hg locate 't/**'
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    91
  t/b (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    92
  t/e.h (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    93
  t/x (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    94
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    95
  $ mkdir otherdir
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    96
  $ cd otherdir
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    97
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    98
  $ hg locate b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    99
  ../b (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   100
  ../t/b (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   101
  $ hg locate '*.h'
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   102
  ../t.h (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   103
  ../t/e.h (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   104
  $ hg locate path:t/x
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   105
  ../t/x (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   106
  $ hg locate 're:.*\.h$'
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   107
  ../t.h (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   108
  ../t/e.h (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   109
  $ hg locate -r 0 b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   110
  ../b (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   111
  ../t/b (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   112
  $ hg locate -r 0 '*.h'
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   113
  ../t.h (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   114
  ../t/e.h (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   115
  $ hg locate -r 0 path:t/x
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   116
  ../t/x (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   117
  $ hg locate -r 0 're:.*\.h$'
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   118
  ../t.h (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   119
  ../t/e.h (glob)
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   120
16912
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
   121
  $ cd ../..