Mercurial > hg
annotate tests/test-hgignore.t @ 39561:d06834e0f48e
wireprotov2peer: stream decoded responses
Previously, wire protocol version 2 would buffer all response data.
Only once all data was received did we CBOR decode it and resolve
the future associated with the command. This was obviously not
desirable. In future commits that introduce large response payloads,
this caused significant memory bloat and slowed down client
operations due to waiting on the server.
This commit refactors the response handling code so that response
data can be streamed.
Command response objects now contain a buffered CBOR decoder. As
new data arrives, it is fed into the decoder. Decoded objects are
made available to the generator as they are decoded.
Because there is a separate thread processing incoming frames and
feeding data into the response object, there is the potential for
race conditions when mutating response objects. So a lock has been
added to guard access to critical state variables.
Because the generator emitting decoded objects needs to wait on
those objects to become available, we've added an Event for the
generator to wait on so it doesn't busy loop. This does mean
there is the potential for deadlocks. And I'm pretty sure they can
occur in some scenarios. We already have a handful of TODOs around
this. But I've added some more. Fixing this will likely require
moving the background thread receiving frames into clienthandler.
We likely would have done this anyway when implementing the client
bits for the SSH transport.
Test output changes because the initial CBOR map holding the overall
response state is now always handled internally by the response
object.
Differential Revision: https://phab.mercurial-scm.org/D4474
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 29 Aug 2018 15:17:11 -0700 |
parents | 4441705b7111 |
children | 5abc47d4ca6b |
rev | line source |
---|---|
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
1 $ hg init ignorerepo |
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
2 $ cd ignorerepo |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
3 |
32605
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
4 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
|
5 $ hg debugignore |
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
6 <nevermatcher> |
e6ff007e107e
match: introduce nevermatcher for when no ignore files are present
Siddharth Agarwal <sid0@fb.com>
parents:
32502
diff
changeset
|
7 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12376
diff
changeset
|
8 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
|
9 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
10 $ touch foo |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
11 $ touch bar |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
12 $ touch baz |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
13 $ cat > makeignore.py <<EOF |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
14 > f = open(".hgignore", "w") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
15 > f.write("ignore\n") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
16 > f.write("foo\n") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
17 > # No EOL here |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
18 > f.write("bar") |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
19 > f.close() |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
20 > EOF |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
21 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
32605
diff
changeset
|
22 $ $PYTHON makeignore.py |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
23 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
24 Should display baz only: |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
25 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
26 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
27 ? baz |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
28 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
29 $ 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
|
30 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
31 $ touch a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
32 $ touch a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
33 $ touch syntax |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
34 $ mkdir dir |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
35 $ touch dir/a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
36 $ touch dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
37 $ touch dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
38 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
39 $ hg add dir/a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
40 $ hg commit -m 0 |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
41 $ hg add dir/b.o |
4439
4e521a3ee5eb
Test issue 562: .hgignore requires newline at end
Patrick Mezard <pmezard@gmail.com>
parents:
2009
diff
changeset
|
42 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
43 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
44 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
45 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
46 ? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
47 ? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
48 ? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
49 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
50 $ echo "*.o" > .hgignore |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12312
diff
changeset
|
51 $ hg status |
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
52 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
|
53 [255] |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
54 |
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
55 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
|
56 |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
57 $ echo "dir/.*\.o" > .hgignore |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
58 $ hg status -i |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
59 I dir/c.o |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
60 |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
61 $ 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
|
62 dir/c.o is ignored |
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
63 (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
|
64 dir/missing.o is ignored |
33507
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
65 (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
|
66 $ cd dir |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
67 $ hg debugignore c.o missing.o |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
68 c.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
69 (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
|
70 missing.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
71 (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
|
72 |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
73 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
|
74 |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
75 #if icasefs |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
76 $ hg debugignore c.O missing.O |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
77 c.o is ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
78 (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
|
79 missing.O is not ignored |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
80 #endif |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
81 |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
82 $ cd .. |
e9672de52a23
debugignore: eliminate inconsistencies with `hg status` (issue5222)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33477
diff
changeset
|
83 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
84 $ echo ".*\.o" > .hgignore |
16487
4fe874697a4d
tests: fix incorrect markup of continued lines of sh commands
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
85 $ hg status |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
86 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
87 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
88 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
89 ? syntax |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
90 |
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
91 Ensure that comments work: |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
92 |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
93 $ touch 'foo#bar' 'quux#' |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
94 #if no-windows |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
95 $ touch 'baz\#wat' |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
96 #endif |
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
97 $ cat <<'EOF' >> .hgignore |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
98 > # full-line comment |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
99 > # whitespace-only comment line |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
100 > syntax# pattern, no whitespace, then comment |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
101 > a.c # pattern, then whitespace, then comment |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
102 > baz\\# # escaped comment character |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
103 > foo\#b # escaped comment character |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
104 > 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
|
105 > EOF |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
106 $ hg status |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
107 A dir/b.o |
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
108 ? .hgignore |
27381
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
109 $ rm 'foo#bar' 'quux#' |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
110 #if no-windows |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
111 $ rm 'baz\#wat' |
988367ac2a2a
test-hgignore: conditionalize an illegal Windows filename
Matt Harbison <matt_harbison@yahoo.com>
parents:
27326
diff
changeset
|
112 #endif |
27326
ee2d7b5daa8a
test-hgignore.t: add tests for comments
Bryan O'Sullivan <bos@serpentine.com>
parents:
25870
diff
changeset
|
113 |
33477
cc4632679cf9
tests: fix an incorrect description in test-ignore.t
Martin von Zweigbergk <martinvonz@google.com>
parents:
33214
diff
changeset
|
114 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
|
115 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
116 $ echo "^\." > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
117 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
118 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
119 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
120 ? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
121 ? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
122 ? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
123 |
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
124 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
|
125 |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
126 $ echo > .hgignore |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
127 $ cat >> $HGRCPATH << EOF |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
128 > [ui] |
25869
a72e304df528
test: move ignore test run into a subdirectory
Durham Goode <durham@fb.com>
parents:
25283
diff
changeset
|
129 > ignore.other = $TESTTMP/ignorerepo/.hg/testhgignore |
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
130 > EOF |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
131 $ echo "glob:**.o" > .hg/testhgignore |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
132 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
133 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
134 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
135 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
136 ? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
137 |
23628
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
138 empty out testhgignore |
7d7a4848fff4
test-hgignore: add testing for ui.ignore
Siddharth Agarwal <sid0@fb.com>
parents:
21815
diff
changeset
|
139 $ echo > .hg/testhgignore |
23629
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
140 |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
141 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
|
142 |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
143 $ cat >> $HGRCPATH << EOF |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
144 > [ui] |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
145 > ignore.relative = .hg/testhgignorerel |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
146 > EOF |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
147 $ 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
|
148 $ cd dir |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
149 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
150 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
151 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
152 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
153 ? syntax |
6479
31abcae33b4f
dirstate: do not ignore current directory '.' (issue 1078)
Patrick Mezard <pmezard@gmail.com>
parents:
5029
diff
changeset
|
154 |
23629
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
155 $ cd .. |
a04c7b74b3d5
ignore: resolve ignore files relative to repo root (issue4473) (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
23628
diff
changeset
|
156 $ echo > .hg/testhgignorerel |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
157 $ echo "syntax: glob" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
158 $ echo "re:.*\.o" >> .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
159 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
160 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
161 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
162 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
163 ? syntax |
5029
ac97e065cfc7
Fix re: and glob: patterns in .hgignore (reported by Brad Schick)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4439
diff
changeset
|
164 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
165 $ 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
|
166 $ hg status |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35230
diff
changeset
|
167 $TESTTMP/ignorerepo/.hgignore: ignoring invalid syntax 'invalid' |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
168 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
169 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
170 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
171 ? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
172 ? dir/c.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
173 ? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
174 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
175 $ echo "syntax: glob" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
176 $ echo "*.o" >> .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
177 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
178 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
179 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
180 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
181 ? syntax |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
182 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
183 $ echo "relglob:syntax*" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
184 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
185 A dir/b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
186 ? .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
187 ? a.c |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
188 ? a.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
189 ? dir/c.o |
1478
e6dd91a88b57
add a test for hgignore
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
190 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
191 $ echo "relglob:*" > .hgignore |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
192 $ hg status |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
193 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
|
194 |
12312
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
195 $ cd dir |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
196 $ hg status . |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
197 A b.o |
83a310f2f14a
tests: unify test-hgignore
Adrian Buehlmann <adrian@cadifra.com>
parents:
6479
diff
changeset
|
198 |
13396
3e66eec9a814
add debugignore which yields the combined ignore patten of the .hgignore files
jfh <jason@jasonfharris.com>
parents:
12640
diff
changeset
|
199 $ hg debugignore |
32502
3026f19b4b01
match: remove support for non-include patterns from includematcher
Martin von Zweigbergk <martinvonz@google.com>
parents:
32501
diff
changeset
|
200 <includematcher includes='(?:(?:|.*/)[^/]*(?:/|$))'> |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16487
diff
changeset
|
201 |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
202 $ hg debugignore b.o |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
203 b.o is ignored |
27757
6ff556ef5a46
test-hgignore: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
27672
diff
changeset
|
204 (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
|
205 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16487
diff
changeset
|
206 $ cd .. |
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
207 |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
208 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
|
209 |
33214
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
210 "(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
|
211 "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
|
212 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
|
213 |
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
214 $ echo "^dir\$" > .hgignore |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
215 $ hg status |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
216 A dir/b.o |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
217 ? .hgignore |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
218 ? a.c |
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
219 ? a.o |
33214
7367b76ef75c
tests: add line specific for testing with fsmonitor
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32940
diff
changeset
|
220 ? dir/c.o (fsmonitor !) |
19128
f4930b533d55
hgignore: fix regression with hgignore directory matches (issue3921)
Durham Goode <durham@fb.com>
parents:
16913
diff
changeset
|
221 ? syntax |
21815
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
222 |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
223 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
|
224 |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
225 $ echo "syntax: glob" > .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
226 $ echo "dir/**/c.o" >> .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
227 $ touch dir/c.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
228 $ mkdir dir/subdir |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
229 $ touch dir/subdir/c.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
230 $ hg status |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
231 A dir/b.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
232 ? .hgignore |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
233 ? a.c |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
234 ? a.o |
a4b67bf1f0a5
match: make glob '**/' match the empty string
Siddharth Agarwal <sid0@fb.com>
parents:
19128
diff
changeset
|
235 ? syntax |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
236 $ hg debugignore a.c |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
237 a.c is not ignored |
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
238 $ 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
|
239 dir/c.o is ignored |
27757
6ff556ef5a46
test-hgignore: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
27672
diff
changeset
|
240 (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
|
241 |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
242 Check using 'include:' in ignore file |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
243 |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
244 $ hg purge --all --config extensions.purge= |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
245 $ touch foo.included |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
246 |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
247 $ echo ".*.included" > otherignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
248 $ hg status -I "include:otherignore" |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
249 ? foo.included |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
250 |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
251 $ echo "include:otherignore" >> .hgignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
252 $ hg status |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
253 A dir/b.o |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
254 ? .hgignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
255 ? otherignore |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
256 |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
257 Check recursive uses of 'include:' |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
258 |
25870
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
259 $ echo "include:nested/ignore" >> otherignore |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
260 $ mkdir nested |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
261 $ echo "glob:*ignore" > nested/ignore |
25215
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
262 $ hg status |
4040e06e9b99
match: add 'include:' syntax
Durham Goode <durham@fb.com>
parents:
23629
diff
changeset
|
263 A dir/b.o |
25216
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
264 |
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
265 $ cp otherignore goodignore |
25216
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
266 $ echo "include:badignore" >> otherignore |
dc562165044a
ignore: use 'include:' rules instead of custom syntax
Durham Goode <durham@fb.com>
parents:
25215
diff
changeset
|
267 $ 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
|
268 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
|
269 A dir/b.o |
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
270 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
271 $ mv goodignore otherignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
272 |
25870
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
273 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
|
274 |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
275 $ cd .. |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
276 $ hg -R ignorerepo status |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
277 A dir/b.o |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
278 $ cd ignorerepo |
3de48ff62733
ignore: fix include: rules depending on current directory (issue4759)
Durham Goode <durham@fb.com>
parents:
25869
diff
changeset
|
279 |
25283
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
280 Check including subincludes |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
281 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
282 $ hg revert -q --all |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
283 $ hg purge --all --config extensions.purge= |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
284 $ echo ".hgignore" > .hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
285 $ mkdir dir1 dir2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
286 $ touch dir1/file1 dir1/file2 dir2/file1 dir2/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
287 $ echo "subinclude:dir2/.hgignore" >> .hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
288 $ echo "glob:file*2" > dir2/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
289 $ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
290 ? dir1/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
291 ? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
292 ? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
293 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
294 Check including subincludes with regexs |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
295 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
296 $ echo "subinclude:dir1/.hgignore" >> .hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
297 $ echo "regexp:f.le1" > dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
298 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
299 $ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
300 ? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
301 ? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
302 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
303 Check multiple levels of sub-ignores |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
304 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
305 $ mkdir dir1/subdir |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
306 $ touch dir1/subdir/subfile1 dir1/subdir/subfile3 dir1/subdir/subfile4 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
307 $ echo "subinclude:subdir/.hgignore" >> dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
308 $ echo "glob:subfil*3" >> dir1/subdir/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
309 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
310 $ hg status |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
311 ? dir1/file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
312 ? dir1/subdir/subfile4 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
313 ? dir2/file1 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
314 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
315 Check include subignore at the same level |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
316 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
317 $ mv dir1/subdir/.hgignore dir1/.hgignoretwo |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
318 $ echo "regexp:f.le1" > dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
319 $ echo "subinclude:.hgignoretwo" >> dir1/.hgignore |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
320 $ echo "glob:file*2" > dir1/.hgignoretwo |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
321 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
322 $ hg status | grep file2 |
19d0e5efa6ca
match: enable 'subinclude:' syntax
Durham Goode <durham@fb.com>
parents:
25216
diff
changeset
|
323 [1] |
27671
067d87feeb11
debugignore: find out if a file is being ignored
Laurent Charignon <lcharignon@fb.com>
parents:
27381
diff
changeset
|
324 $ 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
|
325 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
|
326 (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
|
327 |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
328 #if windows |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
329 |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
330 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
|
331 |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
332 $ rm dir1/.hgignore |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
333 $ echo "dir1/file*" >> .hgignore |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
334 $ hg debugignore "dir1\file2" |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
335 dir1\file2 is ignored |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
336 (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
|
337 $ hg up -qC . |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
338 |
8515b813976b
debugignore: normalize the file before testing dirstate._ignore()
Matt Harbison <matt_harbison@yahoo.com>
parents:
27757
diff
changeset
|
339 #endif |