Mercurial > hg
annotate tests/test-grep.t @ 17616:9535a0dc41f2
store: implement fncache basic path encoding in C
(This is not yet enabled; it will be turned on in a followup patch.)
The path encoding performed by fncache is complex and (perhaps
surprisingly) slow enough to negatively affect the overall performance
of Mercurial.
For a short path (< 120 bytes), the Python code can be reduced to a fairly
tractable state machine that either determines that nothing needs to be
done in a single pass, or performs the encoding in a second pass.
For longer paths, we avoid the more complicated hashed encoding scheme
for now, and fall back to Python.
Raw performance: I measured in a repo containing 150,000 files in its tip
manifest, with a median path name length of 57 bytes, and 95th percentile
of 96 bytes.
In this repo, the Python code takes 3.1 seconds to encode all path
names, while the hybrid C-and-Python code (called from Python) takes
0.21 seconds, for a speedup of about 14.
Across several other large repositories, I've measured the speedup from
the C code at between 26x and 40x.
For path names above 120 bytes where we must fall back to Python for
hashed encoding, the speedup is about 1.7x. Thus absolute performance
will depend strongly on the characteristics of a particular repository.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Tue, 18 Sep 2012 15:42:19 -0700 |
parents | 6ef3107c661e |
children | 21c93988ca70 |
rev | line source |
---|---|
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13920
diff
changeset
|
1 $ hg init t |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
2 $ cd t |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
3 $ echo import > port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
4 $ hg add port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
5 $ hg commit -m 0 -u spam -d '0 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
6 $ echo export >> port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
7 $ hg commit -m 1 -u eggs -d '1 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
8 $ echo export > port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
9 $ echo vaportight >> port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
10 $ echo 'import/export' >> port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
11 $ hg commit -m 2 -u spam -d '2 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
12 $ echo 'import/export' >> port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
13 $ hg commit -m 3 -u eggs -d '3 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
14 $ head -n 3 port > port1 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
15 $ mv port1 port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
16 $ hg commit -m 4 -u spam -d '4 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
17 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
18 pattern error |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
19 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
20 $ hg grep '**test**' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
21 grep: invalid match pattern: nothing to repeat |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11902
diff
changeset
|
22 [1] |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
23 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
24 simple |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
25 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
26 $ hg grep port port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
27 port:4:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
28 port:4:vaportight |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
29 port:4:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
30 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
31 simple with color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
32 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
33 $ hg --config extensions.color= grep --config color.mode=ansi \ |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
34 > --color=always port port |
12942
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
35 port:4:ex\x1b[0;31;1mport\x1b[0m (esc) |
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
36 port:4:va\x1b[0;31;1mport\x1b[0might (esc) |
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
37 port:4:im\x1b[0;31;1mport\x1b[0m/export (esc) |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
diff
changeset
|
38 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
39 all |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
40 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
41 $ hg grep --traceback --all -nu port port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
42 port:4:4:-:spam:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
43 port:3:4:+:eggs:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
44 port:2:1:-:spam:import |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
45 port:2:2:-:spam:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
46 port:2:1:+:spam:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
47 port:2:2:+:spam:vaportight |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
48 port:2:3:+:spam:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
49 port:1:2:+:eggs:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
50 port:0:1:+:spam:import |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
51 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
52 other |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
53 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
54 $ hg grep import port |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
55 port:4:import/export |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
56 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
57 $ hg cp port port2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
58 $ hg commit -m 4 -u spam -d '5 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
59 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
60 follow |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
61 |
15765
1ef46bcd76f8
grep: make multiline mode the default (BC)
Matt Mackall <mpm@selenic.com>
parents:
15293
diff
changeset
|
62 $ hg grep --traceback -f 'import\n\Z' port2 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
63 port:0:import |
15765
1ef46bcd76f8
grep: make multiline mode the default (BC)
Matt Mackall <mpm@selenic.com>
parents:
15293
diff
changeset
|
64 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
65 $ echo deport >> port2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
66 $ hg commit -m 5 -u eggs -d '6 0' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
67 $ hg grep -f --all -nu port port2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
68 port2:6:4:+:eggs:deport |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
69 port:4:4:-:spam:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
70 port:3:4:+:eggs:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
71 port:2:1:-:spam:import |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
72 port:2:2:-:spam:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
73 port:2:1:+:spam:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
74 port:2:2:+:spam:vaportight |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
75 port:2:3:+:spam:import/export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
76 port:1:2:+:eggs:export |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
77 port:0:1:+:spam:import |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
78 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
79 $ cd .. |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
80 $ hg init t2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
81 $ cd t2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
82 $ hg grep foobar foo |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11902
diff
changeset
|
83 [1] |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
84 $ hg grep foobar |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11902
diff
changeset
|
85 [1] |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
86 $ echo blue >> color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
87 $ echo black >> color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
88 $ hg add color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
89 $ hg ci -m 0 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
90 $ echo orange >> color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
91 $ hg ci -m 1 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
92 $ echo black > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
93 $ hg ci -m 2 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
94 $ echo orange >> color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
95 $ echo blue >> color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
96 $ hg ci -m 3 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
97 $ hg grep orange |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
98 color:3:orange |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
99 $ hg grep --all orange |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
100 color:3:+:orange |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
101 color:2:-:orange |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
102 color:1:+:orange |
5106
ee702e7f181f
test-grep: test issue 685
Patrick Mezard <pmezard@gmail.com>
parents:
4877
diff
changeset
|
103 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
104 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
105 match in last "line" without newline |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
106 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
107 $ python -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();' |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
108 $ hg ci -Amnoeol |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
109 adding noeol |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
110 $ hg grep loop |
15293
0e34699d6988
grep: correct handling of matching lines without line ending (issue3050)
Mads Kiilerich <mads@kiilerich.com>
parents:
13956
diff
changeset
|
111 noeol:4:no infinite loop |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
112 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
113 $ cd .. |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
114 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12316
diff
changeset
|
115 Issue685: trackback in grep -r after rename |
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12316
diff
changeset
|
116 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
117 Got a traceback when using grep on a single |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
118 revision with renamed files. |
7240
dac14cc9711e
test 261a9f47b44b: grep w/ match in last line w/o newline
Christian Ebert <blacktrash@gmx.net>
parents:
5107
diff
changeset
|
119 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
120 $ hg init issue685 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
121 $ cd issue685 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
122 $ echo octarine > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
123 $ hg ci -Amcolor |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
124 adding color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
125 $ hg rename color colour |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
126 $ hg ci -Am rename |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
127 $ hg grep octarine |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
128 colour:1:octarine |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
129 color:0:octarine |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
130 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
131 Used to crash here |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
132 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
133 $ hg grep -r 1 octarine |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
134 colour:1:octarine |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
135 $ cd .. |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
136 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
137 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
138 Issue337: test that grep follows parent-child relationships instead |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
139 of just using revision numbers. |
7240
dac14cc9711e
test 261a9f47b44b: grep w/ match in last line w/o newline
Christian Ebert <blacktrash@gmx.net>
parents:
5107
diff
changeset
|
140 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
141 $ hg init issue337 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
142 $ cd issue337 |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8167
diff
changeset
|
143 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
144 $ echo white > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
145 $ hg commit -A -m "0 white" |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
146 adding color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
147 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
148 $ echo red > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
149 $ hg commit -A -m "1 red" |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8167
diff
changeset
|
150 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
151 $ hg update 0 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
152 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
153 $ echo black > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
154 $ hg commit -A -m "2 black" |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
155 created new head |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8167
diff
changeset
|
156 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
157 $ hg update --clean 1 |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
158 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
159 $ echo blue > color |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
160 $ hg commit -A -m "3 blue" |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8167
diff
changeset
|
161 |
11902
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
162 $ hg grep --all red |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
163 color:3:-:red |
3c9a5ed9b1e2
tests: unify test-grep
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11141
diff
changeset
|
164 color:1:+:red |
13920
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
165 |
16912
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
166 $ cd .. |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
167 |
13920
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
168 $ hg init a |
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
169 $ cd a |
16350
4f795f5fbb0b
tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15765
diff
changeset
|
170 $ cp "$TESTDIR/binfile.bin" . |
13920
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
171 $ hg add binfile.bin |
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
172 $ hg ci -m 'add binfile.bin' |
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
173 $ hg grep "MaCam" --all |
332e400764e5
grep: don't print data from binary files for matches (issue2614)
Md. O. Shayan <mdoshayan@gmail.com>
parents:
12942
diff
changeset
|
174 binfile.bin:0:+: Binary file matches |
16912
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
175 |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
176 $ cd .. |