tests/test-locate.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 28 Aug 2018 15:02:48 -0700
changeset 39411 aeb551a3bb8a
parent 39369 34ba47117164
child 41022 481249481392
permissions -rw-r--r--
cborutil: implement sans I/O decoder The vendored CBOR package decodes by calling read(n) on an object. There are a number of disadvantages to this: * Uses blocking I/O. If sufficient data is not available, the decoder will hang until it is. * No support for partial reads. If the read(n) returns less data than requested, the decoder raises an error. * Requires the use of a file like object. If the original data is in say a buffer, we need to "cast" it to e.g. a BytesIO to appease the decoder. In addition, the vendored CBOR decoder doesn't provide flexibility that we desire. Specifically: * It buffers indefinite length bytestrings instead of streaming them. * It doesn't allow limiting the set of types that can be decoded. This property is useful when implementing a "hardened" decoder that is less susceptible to abusive input. * It doesn't provide sufficient "hook points" and introspection to institute checks around behavior. These are useful for implementing a "hardened" decoder. This all adds up to a reasonable set of justifications for writing our own decoder. So, this commit implements our own CBOR decoder. At the heart of the decoder is a function that decodes a single "item" from a buffer. This item can be a complete simple value or a special value, such as "start of array." Using this function, we can build a decoder that effectively iterates over the stream of decoded items and builds up higher-level values, such as arrays, maps, sets, and indefinite length bytestrings. And we can do this without performing I/O in the decoder itself. The core of the sans I/O decoder will probably not be used directly. Instead, it is expected that we'll build utility functions for invoking the decoder given specific input types. This will allow extreme flexibility in how data is delivered to the decoder. I'm pretty happy with the state of the decoder modulo the TODO items to track wanted features to help with a "hardened" decoder. The one thing I could be convinced to change is the handling of semantic tags. Since we only support a single semantic tag (sets), I thought it would be easier to handle them inline in decodeitem(). This is simpler now. But if we add support for other semantic tags, it will likely be easier to move semantic tag handling outside of decodeitem(). But, properly supporting semantic tags opens up a whole can of worms, as many semantic tags imply new types. I'm optimistic we won't need these in Mercurial. But who knows. I'm also pretty happy with the test coverage. Writing comprehensive tests for partial decoding did flush out a handful of bugs. One general improvement to testing would be fuzz testing for partial decoding. I may implement that later. I also anticipate switching the wire protocol code to this new decoder will flush out any lingering bugs. Differential Revision: https://phab.mercurial-scm.org/D4414
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
22591
9fe33afc00b4 files: actually filter out removed files
Siddharth Agarwal <sid0@fb.com>
parents: 22430
diff changeset
    90
  $ hg rm t/b
9fe33afc00b4 files: actually filter out removed files
Siddharth Agarwal <sid0@fb.com>
parents: 22430
diff changeset
    91
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    92
  $ hg locate 't/**'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
    93
  t/b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
    94
  t/e.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
    95
  t/x
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
    96
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
    97
  $ hg files
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
    98
  b
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
    99
  dir.h/foo
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
   100
  t.h
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   101
  t/e.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   102
  t/x
22423
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
   103
  $ hg files b
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
   104
  b
edf07a804ac4 files: add new command unifying locate and manifest functionality
Matt Mackall <mpm@selenic.com>
parents: 16912
diff changeset
   105
35659
821d8a5ab4ff match: do not weirdly include explicit files excluded by -X option
Yuya Nishihara <yuya@tcha.org>
parents: 35444
diff changeset
   106
-X with explicit path:
821d8a5ab4ff match: do not weirdly include explicit files excluded by -X option
Yuya Nishihara <yuya@tcha.org>
parents: 35444
diff changeset
   107
821d8a5ab4ff match: do not weirdly include explicit files excluded by -X option
Yuya Nishihara <yuya@tcha.org>
parents: 35444
diff changeset
   108
  $ hg files b -X b
821d8a5ab4ff match: do not weirdly include explicit files excluded by -X option
Yuya Nishihara <yuya@tcha.org>
parents: 35444
diff changeset
   109
  [1]
821d8a5ab4ff match: do not weirdly include explicit files excluded by -X option
Yuya Nishihara <yuya@tcha.org>
parents: 35444
diff changeset
   110
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   111
  $ mkdir otherdir
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   112
  $ cd otherdir
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   113
25636
bfe9ed85f27c match: let 'path:.' and 'path:' match everything (issue4687)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23348
diff changeset
   114
  $ hg files path:
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   115
  ../b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   116
  ../dir.h/foo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   117
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   118
  ../t/e.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   119
  ../t/x
25636
bfe9ed85f27c match: let 'path:.' and 'path:' match everything (issue4687)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23348
diff changeset
   120
  $ hg files path:.
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   121
  ../b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   122
  ../dir.h/foo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   123
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   124
  ../t/e.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   125
  ../t/x
25636
bfe9ed85f27c match: let 'path:.' and 'path:' match everything (issue4687)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23348
diff changeset
   126
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   127
  $ hg locate b
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   128
  ../b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   129
  ../t/b
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   130
  $ hg locate '*.h'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   131
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   132
  ../t/e.h
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   133
  $ hg locate path:t/x
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   134
  ../t/x
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   135
  $ hg locate 're:.*\.h$'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   136
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   137
  ../t/e.h
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   138
  $ hg locate -r 0 b
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   139
  ../b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   140
  ../t/b
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   141
  $ hg locate -r 0 '*.h'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   142
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   143
  ../t/e.h
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   144
  $ hg locate -r 0 path:t/x
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   145
  ../t/x
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   146
  $ hg locate -r 0 're:.*\.h$'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   147
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   148
  ../t/e.h
12206
844d25bf65a3 tests: unify test-locate
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
   149
22430
968247e8f4ac formatter: add pickle format
Matt Mackall <mpm@selenic.com>
parents: 22423
diff changeset
   150
  $ hg files
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   151
  ../b
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   152
  ../dir.h/foo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   153
  ../t.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   154
  ../t/e.h
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 25636
diff changeset
   155
  ../t/x
22430
968247e8f4ac formatter: add pickle format
Matt Mackall <mpm@selenic.com>
parents: 22423
diff changeset
   156
  $ hg files .
968247e8f4ac formatter: add pickle format
Matt Mackall <mpm@selenic.com>
parents: 22423
diff changeset
   157
  [1]
968247e8f4ac formatter: add pickle format
Matt Mackall <mpm@selenic.com>
parents: 22423
diff changeset
   158
35444
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   159
Convert native path separator to slash (issue5572)
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   160
39369
34ba47117164 formatter: rename {abspath}/{file} to {path}, and drop relative {path} (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 35659
diff changeset
   161
  $ hg files -T '{path|relpath|slashpath}\n'
35444
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   162
  ../b
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   163
  ../dir.h/foo
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   164
  ../t.h
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   165
  ../t/e.h
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   166
  ../t/x
dad8a5071b0a templatefilters: add slashpath() to convert path separator to slash
Yuya Nishihara <yuya@tcha.org>
parents: 35393
diff changeset
   167
16912
6ef3107c661e tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
   168
  $ cd ../..