author | Matt Harbison <matt_harbison@yahoo.com> |
Sun, 20 Aug 2023 01:12:26 -0400 | |
changeset 50833 | de3191c0cec9 |
parent 49605 | b3480822a251 |
permissions | -rw-r--r-- |
48068
bf8837e3d7ce
dirstate: Remove the flat Rust DirstateMap implementation
Simon Sapin <simon.sapin@octobus.net>
parents:
47674
diff
changeset
|
1 |
#testcases dirstate-v1 dirstate-v2 |
47129
93eb6c8035a9
dirstate-tree: Add a dirstate-v1-tree variant of some tests
Simon Sapin <simon.sapin@octobus.net>
parents:
42864
diff
changeset
|
2 |
|
47281
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
3 |
#if dirstate-v2 |
48235
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
4 |
$ cat >> $HGRCPATH << EOF |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
5 |
> [format] |
48674
f7086f6173f8
dirstate-v2: rename the configuration to enable the format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48295
diff
changeset
|
6 |
> use-dirstate-v2=1 |
48235
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
7 |
> [storage] |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
8 |
> dirstate-v2.slow-path=allow |
5c567aca080d
dirstate-v2: add an option to prevent unintentional slow dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48223
diff
changeset
|
9 |
> EOF |
47281
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
10 |
#endif |
6763913fa175
dirstate-v2: Add a variant of some tests, that uses the new format
Simon Sapin <simon.sapin@octobus.net>
parents:
47129
diff
changeset
|
11 |
|
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
12 |
$ hg init ignorerepo |
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
13 |
$ cd ignorerepo |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
14 |
|
32605
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
15 |
debugignore with no hgignore should be deterministic: |
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
16 |
$ hg debugignore |
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
17 |
<nevermatcher> |
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
18 |
|
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12376
diff
changeset
|
19 |
Issue562: .hgignore requires newline at end: |
4439
4e521a3ee5eb
Test issue 562: .hgignore requires newline at end
Patrick Mezard <pmezard@gmail.com>
parents:
2009
diff
changeset
|
20 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
21 |
$ touch foo |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
22 |
$ touch bar |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
23 |
$ touch baz |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
24 |
$ cat > makeignore.py <<EOF |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
25 |
> f = open(".hgignore", "w") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
26 |
> f.write("ignore\n") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
27 |
> f.write("foo\n") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
28 |
> # No EOL here |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
29 |
> f.write("bar") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
30 |
> f.close() |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
31 |
> EOF |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
32 |
|
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
33 |
$ "$PYTHON" makeignore.py |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
34 |
|
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
35 |
Should display baz only: |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
36 |
|
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
37 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
38 |
? baz |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
39 |
|
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
40 |
$ rm foo bar baz .hgignore makeignore.py |
4439
4e521a3ee5eb
Test issue 562: .hgignore requires newline at end
Patrick Mezard <pmezard@gmail.com>
parents:
2009
diff
changeset
|
41 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
42 |
$ touch a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
43 |
$ touch a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
44 |
$ touch syntax |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
45 |
$ mkdir dir |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
46 |
$ touch dir/a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
47 |
$ touch dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
48 |
$ touch dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
49 |
|
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
50 |
$ hg add dir/a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
51 |
$ hg commit -m 0 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
52 |
$ hg add dir/b.o |
4439
4e521a3ee5eb
Test issue 562: .hgignore requires newline at end
Patrick Mezard <pmezard@gmail.com>
parents:
2009
diff
changeset
|
53 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
54 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
55 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
56 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
57 |
? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
58 |
? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
59 |
? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
60 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
61 |
$ echo "*.o" > .hgignore |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12312
diff
changeset
|
62 |
$ hg status |
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
63 |
abort: $TESTTMP/ignorerepo/.hgignore: invalid pattern (relre): *.o (glob) |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12312
diff
changeset
|
64 |
[255] |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
65 |
|
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
66 |
Test relre with flags (issue6759) |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
67 |
--------------------------------- |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
68 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
69 |
regexp with flag is the first one |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
70 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
71 |
$ echo 're:(?i)\.O$' > .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
72 |
$ echo 're:.hgignore' >> .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
73 |
$ hg status |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
74 |
A dir/b.o |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
75 |
? a.c |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
76 |
? syntax |
49605
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
77 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
78 |
<includematcher includes='(?i:.*\\.O$)|.*.hgignore'> |
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
79 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
80 |
regex with flag is not the first one |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
81 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
82 |
$ echo 're:.hgignore' > .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
83 |
$ echo 're:(?i)\.O$' >> .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
84 |
$ hg status |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
85 |
A dir/b.o |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
86 |
? a.c |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
87 |
? syntax |
49605
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
88 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
89 |
<includematcher includes='.*.hgignore|(?i:.*\\.O$)'> |
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
90 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
91 |
flag in a pattern should affect that pattern only |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
92 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
93 |
$ echo 're:(?i)\.O$' > .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
94 |
$ echo 're:.HGIGNORE' >> .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
95 |
$ hg status |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
96 |
A dir/b.o |
49604
086b0c4f8663
matcher: fix the issue with regex inline-flag in rust oo
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49603
diff
changeset
|
97 |
? .hgignore |
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
98 |
? a.c |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
99 |
? syntax |
49605
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
100 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
101 |
<includematcher includes='(?i:.*\\.O$)|.*.HGIGNORE'> |
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
102 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
103 |
$ echo 're:.HGIGNORE' > .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
104 |
$ echo 're:(?i)\.O$' >> .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
105 |
$ hg status |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
106 |
A dir/b.o |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
107 |
? .hgignore |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
108 |
? a.c |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
109 |
? syntax |
49605
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
110 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
111 |
<includematcher includes='.*.HGIGNORE|(?i:.*\\.O$)'> |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
112 |
|
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
113 |
Check that '^' after flag is properly detected. |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
114 |
|
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
115 |
$ echo 're:(?i)^[^a].*\.O$' > .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
116 |
$ echo 're:.HGIGNORE' >> .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
117 |
$ hg status |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
118 |
A dir/b.o |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
119 |
? .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
120 |
? a.c |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
121 |
? a.o |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
122 |
? syntax |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
123 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
124 |
<includematcher includes='(?i:^[^a].*\\.O$)|.*.HGIGNORE'> |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
125 |
|
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
126 |
$ echo 're:.HGIGNORE' > .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
127 |
$ echo 're:(?i)^[^a].*\.O$' >> .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
128 |
$ hg status |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
129 |
A dir/b.o |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
130 |
? .hgignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
131 |
? a.c |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
132 |
? a.o |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
133 |
? syntax |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
134 |
$ hg debugignore |
b3480822a251
matcher: do not prepend '.*' to pattern using ^ after flags
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49604
diff
changeset
|
135 |
<includematcher includes='.*.HGIGNORE|(?i:^[^a].*\\.O$)'> |
49603
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
136 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
137 |
|
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
138 |
further testing |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
139 |
--------------- |
3eda36e9b3d6
matcher: fix issues regex flag contained in pattern (issue6759)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
49558
diff
changeset
|
140 |
|
49538
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
141 |
$ echo 're:^(?!a).*\.o$' > .hgignore |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
142 |
$ hg status |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
143 |
A dir/b.o |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
144 |
? .hgignore |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
145 |
? a.c |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
146 |
? a.o |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
147 |
? syntax |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
148 |
#if rhg |
49539
8076298b795a
rhg: fallback to slow path on invalid patterns in hgignore
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49538
diff
changeset
|
149 |
$ hg status --config rhg.on-unsupported=abort |
8076298b795a
rhg: fallback to slow path on invalid patterns in hgignore
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49538
diff
changeset
|
150 |
unsupported feature: Unsupported syntax regex parse error: |
49538
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
151 |
^(?:^(?!a).*\.o$) |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
152 |
^^^ |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
153 |
error: look-around, including look-ahead and look-behind, is not supported |
49539
8076298b795a
rhg: fallback to slow path on invalid patterns in hgignore
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49538
diff
changeset
|
154 |
[252] |
49538
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
155 |
#endif |
b51e5c2ab5fd
rhg: add a test involving hgignore lookaround
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
49152
diff
changeset
|
156 |
|
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
157 |
Ensure given files are relative to cwd |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
158 |
|
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
159 |
$ echo "dir/.*\.o" > .hgignore |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
160 |
$ hg status -i |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
161 |
I dir/c.o |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
162 |
|
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
163 |
$ hg debugignore dir/c.o dir/missing.o |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
164 |
dir/c.o is ignored |
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
165 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: 'dir/.*\.o') (glob) |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
166 |
dir/missing.o is ignored |
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
167 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: 'dir/.*\.o') (glob) |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
168 |
$ cd dir |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
169 |
$ hg debugignore c.o missing.o |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
170 |
c.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
171 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: 'dir/.*\.o') (glob) |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
172 |
missing.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
173 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: 'dir/.*\.o') (glob) |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
174 |
|
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
175 |
For icasefs, inexact matches also work, except for missing files |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
176 |
|
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
177 |
#if icasefs |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
178 |
$ hg debugignore c.O missing.O |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
179 |
c.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
180 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: 'dir/.*\.o') (glob) |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
181 |
missing.O is not ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
182 |
#endif |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
183 |
|
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
184 |
$ cd .. |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
185 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
186 |
$ echo ".*\.o" > .hgignore |
16487
4fe874697a4d
tests: fix incorrect markup of continued lines of sh commands
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
187 |
$ hg status |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
188 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
189 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
190 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
191 |
? syntax |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
192 |
|
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
193 |
Ensure that comments work: |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
194 |
|
42633
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
195 |
$ touch 'foo#bar' 'quux#' 'quu0#' |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
196 |
#if no-windows |
42633
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
197 |
$ touch 'baz\' 'baz\wat' 'ba0\#wat' 'ba1\\' 'ba1\\wat' 'quu0\' |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
198 |
#endif |
42633
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
199 |
|
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
200 |
$ cat <<'EOF' >> .hgignore |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
201 |
> # full-line comment |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
202 |
> # whitespace-only comment line |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
203 |
> syntax# pattern, no whitespace, then comment |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
204 |
> a.c # pattern, then whitespace, then comment |
42631
24f0023bb8b1
hgignore: update \-escape test to reflect actual behavior
Yuya Nishihara <yuya@tcha.org>
parents:
41721
diff
changeset
|
205 |
> baz\\# # (escaped) backslash, then comment |
42632
c67e3f966867
hgignore: add a few more weird patterns to test case
Yuya Nishihara <yuya@tcha.org>
parents:
42631
diff
changeset
|
206 |
> ba0\\\#w # (escaped) backslash, escaped comment character, then comment |
c67e3f966867
hgignore: add a few more weird patterns to test case
Yuya Nishihara <yuya@tcha.org>
parents:
42631
diff
changeset
|
207 |
> ba1\\\\# # (escaped) backslashes, then comment |
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
208 |
> foo\#b # escaped comment character |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
209 |
> quux\## escaped comment character at end of name |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
210 |
> EOF |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
211 |
$ hg status |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
212 |
A dir/b.o |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
213 |
? .hgignore |
42633
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
214 |
? quu0# |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
215 |
? quu0\ (no-windows !) |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
216 |
|
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
217 |
$ cat <<'EOF' > .hgignore |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
218 |
> .*\.o |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
219 |
> syntax: glob |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
220 |
> syntax# pattern, no whitespace, then comment |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
221 |
> a.c # pattern, then whitespace, then comment |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
222 |
> baz\\#* # (escaped) backslash, then comment |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
223 |
> ba0\\\#w* # (escaped) backslash, escaped comment character, then comment |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
224 |
> ba1\\\\#* # (escaped) backslashes, then comment |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
225 |
> foo\#b* # escaped comment character |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
226 |
> quux\## escaped comment character at end of name |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
227 |
> quu0[\#]# escaped comment character inside [...] |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
228 |
> EOF |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
229 |
$ hg status |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
230 |
A dir/b.o |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
231 |
? .hgignore |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
232 |
? ba1\\wat (no-windows !) |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
233 |
? baz\wat (no-windows !) |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
234 |
? quu0\ (no-windows !) |
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
235 |
|
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
236 |
$ rm 'foo#bar' 'quux#' 'quu0#' |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
237 |
#if no-windows |
42633
f78f305454fd
hgignore: add escape syntax test for glob patterns
Yuya Nishihara <yuya@tcha.org>
parents:
42632
diff
changeset
|
238 |
$ rm 'baz\' 'baz\wat' 'ba0\#wat' 'ba1\\' 'ba1\\wat' 'quu0\' |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
239 |
#endif |
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
240 |
|
33477
cc4632679cf9
tests: fix an incorrect description in test-ignore.t
Martin von Zweigbergk <martinvonz@google.com>
parents:
33214
diff
changeset
|
241 |
Check that '^\.' does not ignore the root directory: |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
242 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
243 |
$ echo "^\." > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
244 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
245 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
246 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
247 |
? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
248 |
? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
249 |
? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
250 |
|
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
251 |
Test that patterns from ui.ignore options are read: |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
252 |
|
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
253 |
$ echo > .hgignore |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
254 |
$ cat >> $HGRCPATH << EOF |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
255 |
> [ui] |
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
256 |
> ignore.other = $TESTTMP/ignorerepo/.hg/testhgignore |
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
257 |
> EOF |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
258 |
$ echo "glob:**.o" > .hg/testhgignore |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
259 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
260 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
261 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
262 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
263 |
? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
264 |
|
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
265 |
empty out testhgignore |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
266 |
$ echo > .hg/testhgignore |
23629
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
267 |
|
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
268 |
Test relative ignore path (issue4473): |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
269 |
|
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
270 |
$ cat >> $HGRCPATH << EOF |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
271 |
> [ui] |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
272 |
> ignore.relative = .hg/testhgignorerel |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
273 |
> EOF |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
274 |
$ echo "glob:*.o" > .hg/testhgignorerel |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
275 |
$ cd dir |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
276 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
277 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
278 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
279 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
280 |
? syntax |
42862
96ddf83fc267
tests: show the pattern generated for a relative glob
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
42633
diff
changeset
|
281 |
$ hg debugignore |
42864
72890d8f9860
match: simplify the regexps created for glob patterns
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
42862
diff
changeset
|
282 |
<includematcher includes='.*\\.o(?:/|$)'> |
6479
31abcae33b4f
dirstate: do not ignore current directory '.' (issue 1078)
Patrick Mezard <pmezard@gmail.com>
parents:
5029
diff
changeset
|
283 |
|
23629
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
284 |
$ cd .. |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
285 |
$ echo > .hg/testhgignorerel |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
286 |
$ echo "syntax: glob" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
287 |
$ echo "re:.*\.o" >> .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
288 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
289 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
290 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
291 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
292 |
? syntax |
5029
ac97e065cfc7
Fix re: and glob: patterns in .hgignore (reported by Brad Schick)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4439
diff
changeset
|
293 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
294 |
$ echo "syntax: invalid" > .hgignore |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12312
diff
changeset
|
295 |
$ hg status |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
296 |
$TESTTMP/ignorerepo/.hgignore: ignoring invalid syntax 'invalid' |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
297 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
298 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
299 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
300 |
? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
301 |
? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
302 |
? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
303 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
304 |
$ echo "syntax: glob" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
305 |
$ echo "*.o" >> .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
306 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
307 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
308 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
309 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
310 |
? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
311 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
312 |
$ echo "relglob:syntax*" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
313 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
314 |
A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
315 |
? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
316 |
? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
317 |
? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
318 |
? dir/c.o |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
319 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
320 |
$ echo "relglob:*" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
321 |
$ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
322 |
A dir/b.o |
1491
91c0e8d7ddcf
fix a bug in dirstate.changes when cwd != repo.root
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1478
diff
changeset
|
323 |
|
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
324 |
$ cd dir |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
325 |
$ hg status . |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
326 |
A b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
327 |
|
13396
3e66eec9a814
add debugignore which yields the combined ignore patten of the .hgignore files
jfh <jason@jasonfharris.com>
parents:
12640
diff
changeset
|
328 |
$ hg debugignore |
42864
72890d8f9860
match: simplify the regexps created for glob patterns
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
42862
diff
changeset
|
329 |
<includematcher includes='.*(?:/|$)'> |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16487
diff
changeset
|
330 |
|
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
331 |
$ hg debugignore b.o |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
332 |
b.o is ignored |
27757
6ff556ef5a46
test-hgignore: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
27672
diff
changeset
|
333 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 1: '*') (glob) |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
334 |
|
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16487
diff
changeset
|
335 |
$ cd .. |
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
336 |
|
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
337 |
Check patterns that match only the directory |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
338 |
|
33214
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
339 |
"(fsmonitor !)" below assumes that fsmonitor is enabled with |
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
340 |
"walk_on_invalidate = false" (default), which doesn't involve |
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
341 |
re-walking whole repository at detection of .hgignore change. |
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
342 |
|
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
343 |
$ echo "^dir\$" > .hgignore |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
344 |
$ hg status |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
345 |
A dir/b.o |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
346 |
? .hgignore |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
347 |
? a.c |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
348 |
? a.o |
33214
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
349 |
? dir/c.o (fsmonitor !) |
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
350 |
? syntax |
21815
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
351 |
|
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
352 |
Check recursive glob pattern matches no directories (dir/**/c.o matches dir/c.o) |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
353 |
|
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
354 |
$ echo "syntax: glob" > .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
355 |
$ echo "dir/**/c.o" >> .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
356 |
$ touch dir/c.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
357 |
$ mkdir dir/subdir |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
358 |
$ touch dir/subdir/c.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
359 |
$ hg status |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
360 |
A dir/b.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
361 |
? .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
362 |
? a.c |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
363 |
? a.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
364 |
? syntax |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
365 |
$ hg debugignore a.c |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
366 |
a.c is not ignored |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
367 |
$ hg debugignore dir/c.o |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
368 |
dir/c.o is ignored |
27757
6ff556ef5a46
test-hgignore: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
27672
diff
changeset
|
369 |
(ignore rule in $TESTTMP/ignorerepo/.hgignore, line 2: 'dir/**/c.o') (glob) |
25215
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
370 |
|
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
371 |
Check rooted globs |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
372 |
|
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
373 |
$ hg purge --all --config extensions.purge= |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
374 |
$ echo "syntax: rootglob" > .hgignore |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
375 |
$ echo "a/*.ext" >> .hgignore |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
376 |
$ for p in a b/a aa; do mkdir -p $p; touch $p/b.ext; done |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
377 |
$ hg status -A 'set:**.ext' |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
378 |
? aa/b.ext |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
379 |
? b/a/b.ext |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
380 |
I a/b.ext |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
381 |
|
25215
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
382 |
Check using 'include:' in ignore file |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
383 |
|
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
384 |
$ hg purge --all --config extensions.purge= |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
385 |
$ touch foo.included |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
386 |
|
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
387 |
$ echo ".*.included" > otherignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
388 |
$ hg status -I "include:otherignore" |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
389 |
? foo.included |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
390 |
|
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
391 |
$ echo "include:otherignore" >> .hgignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
392 |
$ hg status |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
393 |
A dir/b.o |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
394 |
? .hgignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
395 |
? otherignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
396 |
|
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
397 |
Check recursive uses of 'include:' |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
398 |
|
25870
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
399 |
$ echo "include:nested/ignore" >> otherignore |
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
400 |
$ mkdir nested nested/more |
25870
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
401 |
$ echo "glob:*ignore" > nested/ignore |
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
402 |
$ echo "rootglob:a" >> nested/ignore |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
403 |
$ touch a nested/a nested/more/a |
25215
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
404 |
$ hg status |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
405 |
A dir/b.o |
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
406 |
? nested/a |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
407 |
? nested/more/a |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
408 |
$ rm a nested/a nested/more/a |
25216
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
409 |
|
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
410 |
$ cp otherignore goodignore |
25216
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
411 |
$ echo "include:badignore" >> otherignore |
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
412 |
$ hg status |
35230
feecfefeba25
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents:
33507
diff
changeset
|
413 |
skipping unreadable pattern file 'badignore': $ENOENT$ |
25216
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
414 |
A dir/b.o |
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
415 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
416 |
$ mv goodignore otherignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
417 |
|
25870
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
418 |
Check using 'include:' while in a non-root directory |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
419 |
|
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
420 |
$ cd .. |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
421 |
$ hg -R ignorerepo status |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
422 |
A dir/b.o |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
423 |
$ cd ignorerepo |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
424 |
|
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
425 |
Check including subincludes |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
426 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
427 |
$ hg revert -q --all |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
428 |
$ hg purge --all --config extensions.purge= |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
429 |
$ echo ".hgignore" > .hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
430 |
$ mkdir dir1 dir2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
431 |
$ touch dir1/file1 dir1/file2 dir2/file1 dir2/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
432 |
$ echo "subinclude:dir2/.hgignore" >> .hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
433 |
$ echo "glob:file*2" > dir2/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
434 |
$ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
435 |
? dir1/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
436 |
? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
437 |
? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
438 |
|
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
439 |
Check including subincludes with other patterns |
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
440 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
441 |
$ echo "subinclude:dir1/.hgignore" >> .hgignore |
41282
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
442 |
|
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
443 |
$ mkdir dir1/subdir |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
444 |
$ touch dir1/subdir/file1 |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
445 |
$ echo "rootglob:f?le1" > dir1/.hgignore |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
446 |
$ hg status |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
447 |
? dir1/file2 |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
448 |
? dir1/subdir/file1 |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
449 |
? dir2/file1 |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
450 |
$ rm dir1/subdir/file1 |
4fab8a7d2d72
match: support rooted globs in hgignore
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
40782
diff
changeset
|
451 |
|
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
452 |
$ echo "regexp:f.le1" > dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
453 |
$ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
454 |
? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
455 |
? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
456 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
457 |
Check multiple levels of sub-ignores |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
458 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
459 |
$ touch dir1/subdir/subfile1 dir1/subdir/subfile3 dir1/subdir/subfile4 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
460 |
$ echo "subinclude:subdir/.hgignore" >> dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
461 |
$ echo "glob:subfil*3" >> dir1/subdir/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
462 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
463 |
$ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
464 |
? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
465 |
? dir1/subdir/subfile4 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
466 |
? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
467 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
468 |
Check include subignore at the same level |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
469 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
470 |
$ mv dir1/subdir/.hgignore dir1/.hgignoretwo |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
471 |
$ echo "regexp:f.le1" > dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
472 |
$ echo "subinclude:.hgignoretwo" >> dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
473 |
$ echo "glob:file*2" > dir1/.hgignoretwo |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
474 |
|
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
475 |
$ hg status | grep file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
476 |
[1] |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
477 |
$ hg debugignore dir1/file2 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
478 |
dir1/file2 is ignored |
27672
f2da9bb87ae0
debugignore: find out why a file is being ignored (issue4856)
Laurent Charignon <lcharignon@fb.com>
parents:
27671
diff
changeset
|
479 |
(ignore rule in dir2/.hgignore, line 1: 'file*2') |
28054
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
480 |
|
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
481 |
#if windows |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
482 |
|
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
483 |
Windows paths are accepted on input |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
484 |
|
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
485 |
$ rm dir1/.hgignore |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
486 |
$ echo "dir1/file*" >> .hgignore |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
487 |
$ hg debugignore "dir1\file2" |
41721
eb8a8af4cbd0
tests: correct the remaining fallout from recent path style changes on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
41282
diff
changeset
|
488 |
dir1/file2 is ignored |
28054
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
489 |
(ignore rule in $TESTTMP\ignorerepo\.hgignore, line 4: 'dir1/file*') |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
490 |
$ hg up -qC . |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
491 |
|
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
492 |
#endif |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
493 |
|
48223
b4f83c9e7905
dirstate-v2: Add support when Rust is not enabled
Simon Sapin <simon.sapin@octobus.net>
parents:
48068
diff
changeset
|
494 |
#if dirstate-v2 rust |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
495 |
|
47674
ff97e793ed36
dirstate-v2: Introduce a docket file
Simon Sapin <simon.sapin@octobus.net>
parents:
47476
diff
changeset
|
496 |
Check the hash of ignore patterns written in the dirstate |
48223
b4f83c9e7905
dirstate-v2: Add support when Rust is not enabled
Simon Sapin <simon.sapin@octobus.net>
parents:
48068
diff
changeset
|
497 |
This is an optimization that is only relevant when using the Rust extensions |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
498 |
|
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
499 |
$ cat_filename_and_hash () { |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
500 |
> for i in "$@"; do |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
501 |
> printf "$i " |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
502 |
> cat "$i" | "$TESTDIR"/f --raw-sha1 | sed 's/^raw-sha1=//' |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
503 |
> done |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
504 |
> } |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
505 |
$ hg status > /dev/null |
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
506 |
$ cat_filename_and_hash .hg/testhgignore .hg/testhgignorerel .hgignore dir2/.hgignore dir1/.hgignore dir1/.hgignoretwo | $TESTDIR/f --sha1 |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
507 |
sha1=c0beb296395d48ced8e14f39009c4ea6e409bfe6 |
49152
eaaf4f98c9f1
dirstate-v2: add flag to `debugstate` to print docket information
Raphaël Gomès <rgomes@octobus.net>
parents:
48681
diff
changeset
|
508 |
$ hg debugstate --docket | grep ignore |
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
509 |
ignore pattern hash: c0beb296395d48ced8e14f39009c4ea6e409bfe6 |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
510 |
|
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
511 |
$ echo rel > .hg/testhgignorerel |
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
512 |
$ hg status > /dev/null |
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
513 |
$ cat_filename_and_hash .hg/testhgignore .hg/testhgignorerel .hgignore dir2/.hgignore dir1/.hgignore dir1/.hgignoretwo | $TESTDIR/f --sha1 |
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
514 |
sha1=b8e63d3428ec38abc68baa27631516d5ec46b7fa |
49152
eaaf4f98c9f1
dirstate-v2: add flag to `debugstate` to print docket information
Raphaël Gomès <rgomes@octobus.net>
parents:
48681
diff
changeset
|
515 |
$ hg debugstate --docket | grep ignore |
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
516 |
ignore pattern hash: b8e63d3428ec38abc68baa27631516d5ec46b7fa |
49557
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
517 |
$ cd .. |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
518 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
519 |
Check that the hash depends on the source of the hgignore patterns |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
520 |
(otherwise the context is lost and things like subinclude are cached improperly) |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
521 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
522 |
$ hg init ignore-collision |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
523 |
$ cd ignore-collision |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
524 |
$ echo > .hg/testhgignorerel |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
525 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
526 |
$ mkdir dir1/ dir1/subdir |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
527 |
$ touch dir1/subdir/f dir1/subdir/ignored1 |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
528 |
$ echo 'ignored1' > dir1/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
529 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
530 |
$ mkdir dir2 dir2/subdir |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
531 |
$ touch dir2/subdir/f dir2/subdir/ignored2 |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
532 |
$ echo 'ignored2' > dir2/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
533 |
$ echo 'subinclude:dir2/.hgignore' >> .hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
534 |
$ echo 'subinclude:dir1/.hgignore' >> .hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
535 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
536 |
$ hg commit -Aqm_ |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
537 |
|
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
538 |
$ > dir1/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
539 |
$ echo 'ignored' > dir2/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
540 |
$ echo 'ignored1' >> dir2/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
541 |
$ hg status |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
542 |
M dir1/.hgignore |
ca19335e86e5
dirstate-v2: add test that shows a collision in ignore patterns hash
Raphaël Gomès <rgomes@octobus.net>
parents:
49539
diff
changeset
|
543 |
M dir2/.hgignore |
49558
363923bd51cd
dirstate-v2: hash the source of the ignore patterns as well
Raphaël Gomès <rgomes@octobus.net>
parents:
49557
diff
changeset
|
544 |
? dir1/subdir/ignored1 |
47409
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
545 |
|
0ef8231e413f
dirstate-v2: Store a hash of ignore patterns (.hgignore)
Simon Sapin <simon.sapin@octobus.net>
parents:
47281
diff
changeset
|
546 |
#endif |