annotate tests/test-fileset.t @ 38849:da5a666f0f78

pure: create type for revlog v0 index The new type takes care of hiding the nullid entry. This type helps us transition away from including that entry at index[len(index)-1]. Differential Revision: https://phab.mercurial-scm.org/D4020
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 20 Jul 2018 14:25:59 -0700
parents ca4de8ba5b5f
children 73731fa8d1bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
1 $ fileset() {
38610
3d8ef60569d8 fileset: make debugfileset filter repository files
Yuya Nishihara <yuya@tcha.org>
parents: 38599
diff changeset
2 > hg debugfileset --all-files "$@"
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
3 > }
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
4
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
5 $ hg init repo
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
6 $ cd repo
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
7 $ echo a > a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
8 $ echo a > a2
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
9 $ echo b > b1
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
10 $ echo b > b2
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
11 $ hg ci -Am addfiles
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
12 adding a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
13 adding a2
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
14 adding b1
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
15 adding b2
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
16
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
17 Test operators and basic patterns
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
18
25255
ad1d2c952889 fileset: pretty print syntax tree in debug output
Yuya Nishihara <yuya@tcha.org>
parents: 24430
diff changeset
19 $ fileset -v a1
34073
7bbc4e113e5f parser: stabilize output of prettyformat() by using byte-safe repr()
Yuya Nishihara <yuya@tcha.org>
parents: 31853
diff changeset
20 (symbol 'a1')
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
21 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
22 <patternmatcher patterns='(?:a1$)'>
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
23 a1
25255
ad1d2c952889 fileset: pretty print syntax tree in debug output
Yuya Nishihara <yuya@tcha.org>
parents: 24430
diff changeset
24 $ fileset -v 'a*'
34073
7bbc4e113e5f parser: stabilize output of prettyformat() by using byte-safe repr()
Yuya Nishihara <yuya@tcha.org>
parents: 31853
diff changeset
25 (symbol 'a*')
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
26 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
27 <patternmatcher patterns='(?:a[^/]*$)'>
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
28 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
29 a2
25255
ad1d2c952889 fileset: pretty print syntax tree in debug output
Yuya Nishihara <yuya@tcha.org>
parents: 24430
diff changeset
30 $ fileset -v '"re:a\d"'
34073
7bbc4e113e5f parser: stabilize output of prettyformat() by using byte-safe repr()
Yuya Nishihara <yuya@tcha.org>
parents: 31853
diff changeset
31 (string 're:a\\d')
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
32 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
33 <patternmatcher patterns='(?:a\\d)'>
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
34 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
35 a2
35741
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
36 $ fileset -v '!re:"a\d"'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
37 (not
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
38 (kindpat
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
39 (symbol 're')
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
40 (string 'a\\d')))
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
41 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
42 <predicatenmatcher
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
43 pred=<not
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
44 <patternmatcher patterns='(?:a\\d)'>>>
35741
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
45 b1
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
46 b2
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
47 $ fileset -v 'path:a1 or glob:b?'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
48 (or
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
49 (kindpat
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
50 (symbol 'path')
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
51 (symbol 'a1'))
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
52 (kindpat
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
53 (symbol 'glob')
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
54 (symbol 'b?')))
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
55 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
56 <unionmatcher matchers=[
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
57 <patternmatcher patterns='(?:a1(?:/|$))'>,
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
58 <patternmatcher patterns='(?:b.$)'>]>
35741
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
59 a1
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
60 b1
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
61 b2
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
62 $ fileset -v --no-show-matcher 'a1 or a2'
25255
ad1d2c952889 fileset: pretty print syntax tree in debug output
Yuya Nishihara <yuya@tcha.org>
parents: 24430
diff changeset
63 (or
34073
7bbc4e113e5f parser: stabilize output of prettyformat() by using byte-safe repr()
Yuya Nishihara <yuya@tcha.org>
parents: 31853
diff changeset
64 (symbol 'a1')
7bbc4e113e5f parser: stabilize output of prettyformat() by using byte-safe repr()
Yuya Nishihara <yuya@tcha.org>
parents: 31853
diff changeset
65 (symbol 'a2'))
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
66 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
67 a2
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
68 $ fileset 'a1 | a2'
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
69 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
70 a2
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
71 $ fileset 'a* and "*1"'
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
72 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
73 $ fileset 'a* & "*1"'
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
74 a1
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
75 $ fileset 'not (r"a*")'
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
76 b1
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
77 b2
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
78 $ fileset '! ("a*")'
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
79 b1
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
80 b2
17363
5d9e2031c0b1 fileset: actually implement 'minusset'
Patrick Mezard <patrick@mezard.eu>
parents: 17362
diff changeset
81 $ fileset 'a* - a1'
5d9e2031c0b1 fileset: actually implement 'minusset'
Patrick Mezard <patrick@mezard.eu>
parents: 17362
diff changeset
82 a2
19470
19ac0d8ee9a2 fileset: handle underbar in symbols
Matt Mackall <mpm@selenic.com>
parents: 18842
diff changeset
83 $ fileset 'a_b'
26233
d3dbb65c8dc6 fileset: handle error of string unescaping
Yuya Nishihara <yuya@tcha.org>
parents: 25925
diff changeset
84 $ fileset '"\xy"'
38327
62376d7b8859 py3: glob out some error messages in test-fileset.t
Yuya Nishihara <yuya@tcha.org>
parents: 38326
diff changeset
85 hg: parse error: invalid \x escape* (glob)
26233
d3dbb65c8dc6 fileset: handle error of string unescaping
Yuya Nishihara <yuya@tcha.org>
parents: 25925
diff changeset
86 [255]
17362
bd867a9ca510 tests: test filesets with test-fileset.t
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
87
35691
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
88 Test invalid syntax
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
89
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
90 $ fileset -v '"added"()'
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
91 (func
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
92 (string 'added')
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
93 None)
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
94 hg: parse error: not a symbol
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
95 [255]
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
96 $ fileset -v '()()'
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
97 (func
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
98 (group
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
99 None)
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
100 None)
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
101 hg: parse error: not a symbol
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
102 [255]
35692
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
103 $ fileset -v -- '-x'
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
104 (negate
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
105 (symbol 'x'))
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
106 hg: parse error: can't use negate operator in this context
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
107 [255]
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
108 $ fileset -v -- '-()'
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
109 (negate
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
110 (group
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
111 None))
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
112 hg: parse error: can't use negate operator in this context
a62b08f6626b fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org>
parents: 35691
diff changeset
113 [255]
38803
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
114 $ fileset -p parsed 'a, b, c'
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
115 * parsed:
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
116 (list
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
117 (symbol 'a')
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
118 (symbol 'b')
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
119 (symbol 'c'))
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
120 hg: parse error: can't use a list in this context
38810
4fe8d1f077b8 help: add quotes to a few commands we point to
Martin von Zweigbergk <martinvonz@google.com>
parents: 38804
diff changeset
121 (see 'hg help "filesets.x or y"')
38803
4dc498d61d86 fileset: flatten arguments list
Yuya Nishihara <yuya@tcha.org>
parents: 38802
diff changeset
122 [255]
35691
735f47b41521 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org>
parents: 34073
diff changeset
123
35741
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
124 $ fileset '"path":.'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
125 hg: parse error: not a symbol
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
126 [255]
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
127 $ fileset 'path:foo bar'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
128 hg: parse error at 9: invalid token
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
129 [255]
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
130 $ fileset 'foo:bar:baz'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
131 hg: parse error: not a symbol
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
132 [255]
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
133 $ fileset 'foo:bar()'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
134 hg: parse error: pattern must be a string
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
135 [255]
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
136 $ fileset 'foo:bar'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
137 hg: parse error: invalid pattern kind: foo
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
138 [255]
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
139
38801
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
140 Show parsed tree at stages:
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
141
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
142 $ fileset -p unknown a
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
143 abort: invalid stage name: unknown
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
144 [255]
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
145
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
146 $ fileset -p parsed 'path:a1 or glob:b?'
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
147 * parsed:
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
148 (or
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
149 (kindpat
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
150 (symbol 'path')
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
151 (symbol 'a1'))
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
152 (kindpat
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
153 (symbol 'glob')
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
154 (symbol 'b?')))
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
155 a1
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
156 b1
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
157 b2
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
158
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
159 $ fileset -p all -s 'a1 or a2 or (grep("b") & clean())'
38801
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
160 * parsed:
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
161 (or
38804
d82c4d42b615 fileset: flatten 'or' nodes to unnest unionmatchers
Yuya Nishihara <yuya@tcha.org>
parents: 38803
diff changeset
162 (symbol 'a1')
d82c4d42b615 fileset: flatten 'or' nodes to unnest unionmatchers
Yuya Nishihara <yuya@tcha.org>
parents: 38803
diff changeset
163 (symbol 'a2')
38801
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
164 (group
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
165 (and
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
166 (func
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
167 (symbol 'grep')
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
168 (string 'b'))
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
169 (func
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
170 (symbol 'clean')
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
171 None))))
38826
6371ab78c3b3 fileset: add phase to transform parsed tree
Yuya Nishihara <yuya@tcha.org>
parents: 38810
diff changeset
172 * analyzed:
6371ab78c3b3 fileset: add phase to transform parsed tree
Yuya Nishihara <yuya@tcha.org>
parents: 38810
diff changeset
173 (or
6371ab78c3b3 fileset: add phase to transform parsed tree
Yuya Nishihara <yuya@tcha.org>
parents: 38810
diff changeset
174 (symbol 'a1')
6371ab78c3b3 fileset: add phase to transform parsed tree
Yuya Nishihara <yuya@tcha.org>
parents: 38810
diff changeset
175 (symbol 'a2')
38827
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
176 (and
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
177 (func
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
178 (symbol 'grep')
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
179 (string 'b'))
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
180 (func
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
181 (symbol 'clean')
48fc2a8af345 fileset: drop 'group' node from tree to be evaluated
Yuya Nishihara <yuya@tcha.org>
parents: 38826
diff changeset
182 None)))
38829
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
183 * optimized:
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
184 (or
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
185 (symbol 'a1')
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
186 (symbol 'a2')
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
187 (and
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
188 (func
38831
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
189 (symbol 'clean')
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
190 None)
38829
7e7e2b2ff284 fileset: add stub for weight-based optimization
Yuya Nishihara <yuya@tcha.org>
parents: 38827
diff changeset
191 (func
38831
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
192 (symbol 'grep')
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
193 (string 'b'))))
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
194 * matcher:
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
195 <unionmatcher matchers=[
38804
d82c4d42b615 fileset: flatten 'or' nodes to unnest unionmatchers
Yuya Nishihara <yuya@tcha.org>
parents: 38803
diff changeset
196 <patternmatcher patterns='(?:a1$)'>,
d82c4d42b615 fileset: flatten 'or' nodes to unnest unionmatchers
Yuya Nishihara <yuya@tcha.org>
parents: 38803
diff changeset
197 <patternmatcher patterns='(?:a2$)'>,
38802
f0a574dbfae9 debugfileset: add option to show matcher representation
Yuya Nishihara <yuya@tcha.org>
parents: 38801
diff changeset
198 <intersectionmatcher
38831
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
199 m1=<predicatenmatcher pred=clean>,
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
200 m2=<predicatenmatcher pred=grep('b')>>]>
38801
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
201 a1
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
202 a2
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
203 b1
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
204 b2
1d1c1645d7b9 debugfileset: backport --show-stage option from debugrevspec
Yuya Nishihara <yuya@tcha.org>
parents: 38749
diff changeset
205
38832
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
206 Use differencematcher for 'x and not y':
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
207
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
208 $ fileset -p optimized -s 'a* and not a1'
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
209 * optimized:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
210 (minus
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
211 (symbol 'a*')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
212 (symbol 'a1'))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
213 * matcher:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
214 <differencematcher
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
215 m1=<patternmatcher patterns='(?:a[^/]*$)'>,
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
216 m2=<patternmatcher patterns='(?:a1$)'>>
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
217 a2
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
218
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
219 $ fileset -p optimized -s '!binary() and a*'
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
220 * optimized:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
221 (minus
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
222 (symbol 'a*')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
223 (func
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
224 (symbol 'binary')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
225 None))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
226 * matcher:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
227 <differencematcher
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
228 m1=<patternmatcher patterns='(?:a[^/]*$)'>,
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
229 m2=<predicatenmatcher pred=binary>>
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
230 a1
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
231 a2
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
232
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
233 'x - y' is rewritten to 'x and not y' first so the operands can be reordered:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
234
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
235 $ fileset -p analyzed -p optimized -s 'a* - a1'
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
236 * analyzed:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
237 (and
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
238 (symbol 'a*')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
239 (not
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
240 (symbol 'a1')))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
241 * optimized:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
242 (minus
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
243 (symbol 'a*')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
244 (symbol 'a1'))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
245 * matcher:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
246 <differencematcher
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
247 m1=<patternmatcher patterns='(?:a[^/]*$)'>,
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
248 m2=<patternmatcher patterns='(?:a1$)'>>
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
249 a2
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
250
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
251 $ fileset -p analyzed -p optimized -s 'binary() - a*'
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
252 * analyzed:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
253 (and
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
254 (func
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
255 (symbol 'binary')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
256 None)
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
257 (not
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
258 (symbol 'a*')))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
259 * optimized:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
260 (and
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
261 (not
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
262 (symbol 'a*'))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
263 (func
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
264 (symbol 'binary')
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
265 None))
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
266 * matcher:
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
267 <intersectionmatcher
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
268 m1=<predicatenmatcher
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
269 pred=<not
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
270 <patternmatcher patterns='(?:a[^/]*$)'>>>,
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
271 m2=<predicatenmatcher pred=binary>>
ca4de8ba5b5f fileset: optimize 'x and not y' to 'x - y'
Yuya Nishihara <yuya@tcha.org>
parents: 38831
diff changeset
272
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
273 Test files status
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
274
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
275 $ rm a1
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
276 $ hg rm a2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
277 $ echo b >> b2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
278 $ hg cp b1 c1
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
279 $ echo c > c2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
280 $ echo c > c3
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
281 $ cat > .hgignore <<EOF
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
282 > \.hgignore
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
283 > 2$
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
284 > EOF
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
285 $ fileset 'modified()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
286 b2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
287 $ fileset 'added()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
288 c1
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
289 $ fileset 'removed()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
290 a2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
291 $ fileset 'deleted()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
292 a1
27024
ceef5fb14872 fileset: add missing() predicate (issue4925)
liscju <piotr.listkiewicz@gmail.com>
parents: 26953
diff changeset
293 $ fileset 'missing()'
ceef5fb14872 fileset: add missing() predicate (issue4925)
liscju <piotr.listkiewicz@gmail.com>
parents: 26953
diff changeset
294 a1
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
295 $ fileset 'unknown()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
296 c3
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
297 $ fileset 'ignored()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
298 .hgignore
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
299 c2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
300 $ fileset 'hgignore()'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
301 .hgignore
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
302 a2
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
303 b2
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
304 c2
17364
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
305 $ fileset 'clean()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
306 b1
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
307 $ fileset 'copied()'
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
308 c1
0c41fb2d972a test-fileset: test file status predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17363
diff changeset
309
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
310 Test files status in different revisions
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
311
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
312 $ hg status -m
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
313 M b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
314 $ fileset -r0 'revs("wdir()", modified())' --traceback
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
315 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
316 $ hg status -a
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
317 A c1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
318 $ fileset -r0 'revs("wdir()", added())'
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
319 c1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
320 $ hg status --change 0 -a
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
321 A a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
322 A a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
323 A b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
324 A b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
325 $ hg status -mru
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
326 M b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
327 R a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
328 ? c3
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
329 $ fileset -r0 'added() and revs("wdir()", modified() or removed() or unknown())'
38599
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
330 a2
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
331 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
332 $ fileset -r0 'added() or revs("wdir()", added())'
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
333 a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
334 a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
335 b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
336 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
337 c1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
338
17365
8a0513bf030a fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents: 17364
diff changeset
339 Test files properties
8a0513bf030a fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents: 17364
diff changeset
340
38080
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
341 >>> open('bin', 'wb').write(b'\0a') and None
17365
8a0513bf030a fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents: 17364
diff changeset
342 $ fileset 'binary()'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
343 bin
17366
04c65cb59467 fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents: 17365
diff changeset
344 $ fileset 'binary() and unknown()'
04c65cb59467 fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents: 17365
diff changeset
345 bin
17367
ce625185cfd9 fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents: 17366
diff changeset
346 $ echo '^bin$' >> .hgignore
ce625185cfd9 fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents: 17366
diff changeset
347 $ fileset 'binary() and ignored()'
ce625185cfd9 fileset: matchctx.existing() must consider ignored files
Patrick Mezard <patrick@mezard.eu>
parents: 17366
diff changeset
348 bin
17366
04c65cb59467 fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents: 17365
diff changeset
349 $ hg add bin
04c65cb59467 fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents: 17365
diff changeset
350 $ fileset 'binary()'
04c65cb59467 fileset: matchctx.existing() must consider unknown files
Patrick Mezard <patrick@mezard.eu>
parents: 17365
diff changeset
351 bin
17365
8a0513bf030a fileset: exclude deleted files from matchctx.existing()
Patrick Mezard <patrick@mezard.eu>
parents: 17364
diff changeset
352
38831
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
353 $ fileset -p optimized -s 'binary() and b*'
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
354 * optimized:
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
355 (and
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
356 (symbol 'b*')
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
357 (func
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
358 (symbol 'binary')
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
359 None))
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
360 * matcher:
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
361 <intersectionmatcher
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
362 m1=<patternmatcher patterns='(?:b[^/]*$)'>,
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
363 m2=<predicatenmatcher pred=binary>>
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
364 bin
b975c5801487 fileset: reorder 'and' expression to evaluate basic patterns first
Yuya Nishihara <yuya@tcha.org>
parents: 38829
diff changeset
365
17368
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
366 $ fileset 'grep("b{1}")'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
367 .hgignore
38599
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
368 b1
17368
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
369 b2
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
370 c1
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
371 $ fileset 'grep("missingparens(")'
38327
62376d7b8859 py3: glob out some error messages in test-fileset.t
Yuya Nishihara <yuya@tcha.org>
parents: 38326
diff changeset
372 hg: parse error: invalid match pattern: (unbalanced parenthesis|missing \)).* (re)
17368
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
373 [255]
01cc267fc105 fileset: do not traceback on invalid grep pattern
Patrick Mezard <patrick@mezard.eu>
parents: 17367
diff changeset
374
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
375 #if execbit
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
376 $ chmod +x b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
377 $ fileset 'exec()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
378 b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
379 #endif
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
380
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
381 #if symlink
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
382 $ ln -s b2 b2link
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
383 $ fileset 'symlink() and unknown()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
384 b2link
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
385 $ hg add b2link
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
386 #endif
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
387
24408
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
388 #if no-windows
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
389 $ echo foo > con.xml
24430
98d9d33dfd95 test-fileset.t: remove 'bar ' and 'baz\' from tested filenames
Siddharth Agarwal <sid0@fb.com>
parents: 24424
diff changeset
390 $ fileset 'not portable()'
24408
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
391 con.xml
24430
98d9d33dfd95 test-fileset.t: remove 'bar ' and 'baz\' from tested filenames
Siddharth Agarwal <sid0@fb.com>
parents: 24424
diff changeset
392 $ hg --config ui.portablefilenames=ignore add con.xml
24408
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
393 #endif
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
394
38080
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
395 >>> open('1k', 'wb').write(b' '*1024) and None
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
396 >>> open('2k', 'wb').write(b' '*2048) and None
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
397 $ hg add 1k 2k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
398 $ fileset 'size("bar")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
399 hg: parse error: couldn't parse size: bar
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
400 [255]
27518
737ffdabbde9 fileset: add hint for list error to use or
timeless <timeless@mozdev.org>
parents: 27477
diff changeset
401 $ fileset '(1k, 2k)'
737ffdabbde9 fileset: add hint for list error to use or
timeless <timeless@mozdev.org>
parents: 27477
diff changeset
402 hg: parse error: can't use a list in this context
38810
4fe8d1f077b8 help: add quotes to a few commands we point to
Martin von Zweigbergk <martinvonz@google.com>
parents: 38804
diff changeset
403 (see 'hg help "filesets.x or y"')
27518
737ffdabbde9 fileset: add hint for list error to use or
timeless <timeless@mozdev.org>
parents: 27477
diff changeset
404 [255]
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
405 $ fileset 'size(1k)'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
406 1k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
407 $ fileset '(1k or 2k) and size("< 2k")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
408 1k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
409 $ fileset '(1k or 2k) and size("<=2k")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
410 1k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
411 2k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
412 $ fileset '(1k or 2k) and size("> 1k")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
413 2k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
414 $ fileset '(1k or 2k) and size(">=1K")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
415 1k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
416 2k
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
417 $ fileset '(1k or 2k) and size(".5KB - 1.5kB")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
418 1k
25925
23c4589fc678 filesets: ignore unit case in size() predicate for single value
Anton Shestakov <av6@dwimlabs.net>
parents: 25587
diff changeset
419 $ fileset 'size("1M")'
23c4589fc678 filesets: ignore unit case in size() predicate for single value
Anton Shestakov <av6@dwimlabs.net>
parents: 25587
diff changeset
420 $ fileset 'size("1 GB")'
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
421
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
422 Test merge states
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
423
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
424 $ hg ci -m manychanges
35950
7b2b82f891bf fileset: don't abort when running copied() on a revision with a removed file
Matt Harbison <matt_harbison@yahoo.com>
parents: 35741
diff changeset
425 $ hg file -r . 'set:copied() & modified()'
7b2b82f891bf fileset: don't abort when running copied() on a revision with a removed file
Matt Harbison <matt_harbison@yahoo.com>
parents: 35741
diff changeset
426 [1]
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
427 $ hg up -C 0
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
428 * files updated, 0 files merged, * files removed, 0 files unresolved (glob)
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
429 $ echo c >> b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
430 $ hg ci -m diverging b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
431 created new head
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
432 $ fileset 'resolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
433 $ fileset 'unresolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
434 $ hg merge
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
435 merging b2
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26233
diff changeset
436 warning: conflicts while merging b2! (edit, then use 'hg resolve --mark')
26953
2da6a2dbfc42 test-fileset: glob the updated file count for Windows stability
Matt Harbison <matt_harbison@yahoo.com>
parents: 26614
diff changeset
437 * files updated, 0 files merged, 1 files removed, 1 files unresolved (glob)
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35692
diff changeset
438 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
439 [1]
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
440 $ fileset 'resolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
441 $ fileset 'unresolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
442 b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
443 $ echo e > b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
444 $ hg resolve -m b2
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
445 (no more unresolved files)
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
446 $ fileset 'resolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
447 b2
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
448 $ fileset 'unresolved()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
449 $ hg ci -m merge
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
450
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
451 Test subrepo predicate
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
452
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
453 $ hg init sub
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
454 $ echo a > sub/suba
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
455 $ hg -R sub add sub/suba
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
456 $ hg -R sub ci -m sub
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
457 $ echo 'sub = sub' > .hgsub
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
458 $ hg init sub2
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
459 $ echo b > sub2/b
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
460 $ hg -R sub2 ci -Am sub2
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
461 adding b
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
462 $ echo 'sub2 = sub2' >> .hgsub
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
463 $ fileset 'subrepo()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
464 $ hg add .hgsub
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
465 $ fileset 'subrepo()'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
466 sub
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
467 sub2
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
468 $ fileset 'subrepo("sub")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
469 sub
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
470 $ fileset 'subrepo("glob:*")'
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
471 sub
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
472 sub2
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
473 $ hg ci -m subrepo
17369
b360011a132d test-fileset: test remaining predicates
Patrick Mezard <patrick@mezard.eu>
parents: 17368
diff changeset
474
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
475 Test that .hgsubstate is updated as appropriate during a conversion. The
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
476 saverev property is enough to alter the hashes of the subrepo.
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
477
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
478 $ hg init ../converted
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
479 $ hg --config extensions.convert= convert --config convert.hg.saverev=True \
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
480 > sub ../converted/sub
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
481 initializing destination ../converted/sub repository
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
482 scanning source...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
483 sorting...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
484 converting...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
485 0 sub
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
486 $ hg clone -U sub2 ../converted/sub2
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
487 $ hg --config extensions.convert= convert --config convert.hg.saverev=True \
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
488 > . ../converted
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
489 scanning source...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
490 sorting...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
491 converting...
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
492 4 addfiles
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
493 3 manychanges
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
494 2 diverging
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
495 1 merge
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
496 0 subrepo
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
497 no ".hgsubstate" updates will be made for "sub2"
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
498 $ hg up -q -R ../converted -r tip
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
499 $ hg --cwd ../converted cat sub/suba sub2/b -r tip
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
500 a
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
501 b
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
502 $ oldnode=`hg log -r tip -T "{node}\n"`
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
503 $ newnode=`hg log -R ../converted -r tip -T "{node}\n"`
25587
49fb24f72747 test-fileset: remove bashism, use test instead of '[[ ]]'
Yuya Nishihara <yuya@tcha.org>
parents: 25558
diff changeset
504 $ [ "$oldnode" != "$newnode" ] || echo "nothing changed"
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
505
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
506 Test with a revision
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
507
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
508 $ hg log -G --template '{rev} {desc}\n'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
509 @ 4 subrepo
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
510 |
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
511 o 3 merge
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
512 |\
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
513 | o 2 diverging
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
514 | |
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
515 o | 1 manychanges
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
516 |/
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
517 o 0 addfiles
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
518
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
519 $ echo unknown > unknown
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
520 $ fileset -r1 'modified()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
521 b2
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
522 $ fileset -r1 'added() and c1'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
523 c1
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
524 $ fileset -r1 'removed()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
525 a2
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
526 $ fileset -r1 'deleted()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
527 $ fileset -r1 'unknown()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
528 $ fileset -r1 'ignored()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
529 $ fileset -r1 'hgignore()'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
530 .hgignore
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
531 a2
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
532 b2
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
533 bin
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
534 c2
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
535 sub2
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
536 $ fileset -r1 'binary()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
537 bin
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
538 $ fileset -r1 'size(1k)'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
539 1k
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
540 $ fileset -r3 'resolved()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
541 $ fileset -r3 'unresolved()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
542
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
543 #if execbit
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
544 $ fileset -r1 'exec()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
545 b2
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
546 #endif
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
547
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
548 #if symlink
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
549 $ fileset -r1 'symlink()'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
550 b2link
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
551 #endif
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
552
24408
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
553 #if no-windows
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
554 $ fileset -r1 'not portable()'
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
555 con.xml
24424
f7a3ea7b9dc6 test-fileset: forget non-portable files to avoid failures on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24408
diff changeset
556 $ hg forget 'con.xml'
24408
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
557 #endif
caa6b6c65dc3 fileset: add a fileset for portable filenames
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
558
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
559 $ fileset -r4 'subrepo("re:su.*")'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
560 sub
25558
daf9f7ee2a5c convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 25255
diff changeset
561 sub2
35741
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
562 $ fileset -r4 'subrepo(re:su.*)'
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
563 sub
73432eee0ac4 fileset: add kind:pat operator
Yuya Nishihara <yuya@tcha.org>
parents: 35704
diff changeset
564 sub2
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
565 $ fileset -r4 'subrepo("sub")'
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
566 sub
17371
1310489eb5d6 fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents: 17370
diff changeset
567 $ fileset -r4 'b2 or c1'
1310489eb5d6 fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents: 17370
diff changeset
568 b2
1310489eb5d6 fileset: fix generator vs list bug in fast path
Patrick Mezard <patrick@mezard.eu>
parents: 17370
diff changeset
569 c1
17370
3fe199579323 debugfileset: implement --rev, more tests
Patrick Mezard <patrick@mezard.eu>
parents: 17369
diff changeset
570
38080
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
571 >>> open('dos', 'wb').write(b"dos\r\n") and None
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
572 >>> open('mixed', 'wb').write(b"dos\r\nunix\n") and None
0a10f142299d py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36685
diff changeset
573 >>> open('mac', 'wb').write(b"mac\r") and None
18842
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
574 $ hg add dos mixed mac
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
575
27459
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
576 (remove a1, to examine safety of 'eol' on removed files)
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
577 $ rm a1
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
578
18842
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
579 $ fileset 'eol(dos)'
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
580 dos
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
581 mixed
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
582 $ fileset 'eol(unix)'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
583 .hgignore
18842
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
584 .hgsub
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
585 .hgsubstate
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
586 b1
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
587 b2
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
588 b2.orig
18842
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
589 c1
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
590 c2
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
591 c3
38749
0c5d131fa428 test-fileset: make con.xml in output conditionally available
Yuya Nishihara <yuya@tcha.org>
parents: 38690
diff changeset
592 con.xml (no-windows !)
38599
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
593 mixed
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
594 unknown
18842
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
595 $ fileset 'eol(mac)'
3ce3f2b059a1 filesets: add eol predicate
Matt Mackall <mpm@selenic.com>
parents: 17371
diff changeset
596 mac
27459
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
597
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
598 Test safety of 'encoding' on removed files
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
599
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
600 $ fileset 'encoding("ascii")'
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
601 .hgignore
27459
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
602 .hgsub
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
603 .hgsubstate
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
604 1k
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
605 2k
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
606 b1
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
607 b2
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
608 b2.orig
31853
67ea8e857489 test-fileset: eliminate a duplicate test that was conditionalized for output
Matt Harbison <matt_harbison@yahoo.com>
parents: 31852
diff changeset
609 b2link (symlink !)
27459
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
610 bin
2f15253e415f fileset: treat encoding and eol as the predicate calling _existing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27024
diff changeset
611 c1
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
612 c2
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
613 c3
38749
0c5d131fa428 test-fileset: make con.xml in output conditionally available
Yuya Nishihara <yuya@tcha.org>
parents: 38690
diff changeset
614 con.xml (no-windows !)
38599
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
615 dos
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
616 mac
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
617 mixed
38689
ff5b6fca1082 fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 38686
diff changeset
618 unknown
27464
c39ecb2b86b3 fileset: detect unintentional existing() invocation at runtime
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27459
diff changeset
619
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
620 Test 'revs(...)'
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
621 ================
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
622
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
623 small reminder of the repository state
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
624
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
625 $ hg log -G
31852
7ef0816bfe64 test-fileset: glob away hash differences
Matt Harbison <matt_harbison@yahoo.com>
parents: 31830
diff changeset
626 @ changeset: 4:* (glob)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
627 | tag: tip
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
628 | user: test
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
629 | date: Thu Jan 01 00:00:00 1970 +0000
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
630 | summary: subrepo
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
631 |
31852
7ef0816bfe64 test-fileset: glob away hash differences
Matt Harbison <matt_harbison@yahoo.com>
parents: 31830
diff changeset
632 o changeset: 3:* (glob)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
633 |\ parent: 2:55b05bdebf36
31852
7ef0816bfe64 test-fileset: glob away hash differences
Matt Harbison <matt_harbison@yahoo.com>
parents: 31830
diff changeset
634 | | parent: 1:* (glob)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
635 | | user: test
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
636 | | date: Thu Jan 01 00:00:00 1970 +0000
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
637 | | summary: merge
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
638 | |
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
639 | o changeset: 2:55b05bdebf36
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
640 | | parent: 0:8a9576c51c1f
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
641 | | user: test
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
642 | | date: Thu Jan 01 00:00:00 1970 +0000
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
643 | | summary: diverging
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
644 | |
31852
7ef0816bfe64 test-fileset: glob away hash differences
Matt Harbison <matt_harbison@yahoo.com>
parents: 31830
diff changeset
645 o | changeset: 1:* (glob)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
646 |/ user: test
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
647 | date: Thu Jan 01 00:00:00 1970 +0000
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
648 | summary: manychanges
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
649 |
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
650 o changeset: 0:8a9576c51c1f
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
651 user: test
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
652 date: Thu Jan 01 00:00:00 1970 +0000
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
653 summary: addfiles
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
654
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
655 $ hg status --change 0
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
656 A a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
657 A a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
658 A b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
659 A b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
660 $ hg status --change 1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
661 M b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
662 A 1k
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
663 A 2k
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
664 A b2link (no-windows !)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
665 A bin
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
666 A c1
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
667 A con.xml (no-windows !)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
668 R a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
669 $ hg status --change 2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
670 M b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
671 $ hg status --change 3
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
672 M b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
673 A 1k
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
674 A 2k
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
675 A b2link (no-windows !)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
676 A bin
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
677 A c1
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
678 A con.xml (no-windows !)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
679 R a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
680 $ hg status --change 4
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
681 A .hgsub
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
682 A .hgsubstate
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
683 $ hg status
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
684 A dos
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
685 A mac
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
686 A mixed
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
687 R con.xml (no-windows !)
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
688 ! a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
689 ? b2.orig
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
690 ? c3
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
691 ? unknown
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
692
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
693 Test files at -r0 should be filtered by files at wdir
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
694 -----------------------------------------------------
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
695
38686
131aae58a316 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org>
parents: 38610
diff changeset
696 $ fileset -r0 'tracked() and revs("wdir()", tracked())'
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
697 a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
698 b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
699 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
700
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
701 Test that "revs()" work at all
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
702 ------------------------------
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
703
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
704 $ fileset "revs('2', modified())"
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
705 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
706
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
707 Test that "revs()" work for file missing in the working copy/current context
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
708 ----------------------------------------------------------------------------
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
709
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
710 (a2 not in working copy)
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
711
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
712 $ fileset "revs('0', added())"
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
713 a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
714 a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
715 b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
716 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
717
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
718 (none of the file exist in "0")
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
719
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
720 $ fileset -r 0 "revs('4', added())"
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
721 .hgsub
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
722 .hgsubstate
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
723
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
724 Call with empty revset
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
725 --------------------------
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
726
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
727 $ fileset "revs('2-2', modified())"
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
728
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
729 Call with revset matching multiple revs
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
730 ---------------------------------------
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
731
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
732 $ fileset "revs('0+4', added())"
38599
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
733 .hgsub
f9805627af1f fileset: sort debugfileset output
Yuya Nishihara <yuya@tcha.org>
parents: 38327
diff changeset
734 .hgsubstate
31193
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
735 a1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
736 a2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
737 b1
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
738 b2
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
739
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
740 overlapping set
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
741
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
742 $ fileset "revs('1+2', modified())"
4140d49d2efb fileset: add revs(revs, fileset) to evaluate set in working directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28447
diff changeset
743 b2
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
744
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
745 test 'status(...)'
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
746 =================
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
747
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
748 Simple case
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
749 -----------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
750
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
751 $ fileset "status(3, 4, added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
752 .hgsub
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
753 .hgsubstate
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
754
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
755 use rev to restrict matched file
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
756 -----------------------------------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
757
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
758 $ hg status --removed --rev 0 --rev 1
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
759 R a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
760 $ fileset "status(0, 1, removed())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
761 a2
38686
131aae58a316 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org>
parents: 38610
diff changeset
762 $ fileset "tracked() and status(0, 1, removed())"
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
763 $ fileset -r 4 "status(0, 1, removed())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
764 a2
38686
131aae58a316 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org>
parents: 38610
diff changeset
765 $ fileset -r 4 "tracked() and status(0, 1, removed())"
131aae58a316 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org>
parents: 38610
diff changeset
766 $ fileset "revs('4', tracked() and status(0, 1, removed()))"
131aae58a316 fileset: add "tracked()" to explicitly select files in the revision
Yuya Nishihara <yuya@tcha.org>
parents: 38610
diff changeset
767 $ fileset "revs('0', tracked() and status(0, 1, removed()))"
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
768 a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
769
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
770 check wdir()
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
771 ------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
772
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
773 $ hg status --removed --rev 4
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
774 R con.xml (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
775 $ fileset "status(4, 'wdir()', removed())"
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
776 con.xml (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
777
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
778 $ hg status --removed --rev 2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
779 R a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
780 $ fileset "status('2', 'wdir()', removed())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
781 a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
782
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
783 test backward status
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
784 --------------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
785
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
786 $ hg status --removed --rev 0 --rev 4
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
787 R a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
788 $ hg status --added --rev 4 --rev 0
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
789 A a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
790 $ fileset "status(4, 0, added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
791 a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
792
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
793 test cross branch status
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
794 ------------------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
795
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
796 $ hg status --added --rev 1 --rev 2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
797 A a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
798 $ fileset "status(1, 2, added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
799 a2
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
800
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
801 test with multi revs revset
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
802 ---------------------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
803 $ hg status --added --rev 0:1 --rev 3:4
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
804 A .hgsub
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
805 A .hgsubstate
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
806 A 1k
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
807 A 2k
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
808 A b2link (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
809 A bin
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
810 A c1
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
811 A con.xml (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
812 $ fileset "status('0:1', '3:4', added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
813 .hgsub
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
814 .hgsubstate
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
815 1k
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
816 2k
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
817 b2link (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
818 bin
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
819 c1
31830
d34316ae5c58 tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31195
diff changeset
820 con.xml (no-windows !)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
821
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
822 tests with empty value
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
823 ----------------------
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
824
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
825 Fully empty revset
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
826
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
827 $ fileset "status('', '4', added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
828 hg: parse error: first argument to status must be a revision
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
829 [255]
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
830 $ fileset "status('2', '', added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
831 hg: parse error: second argument to status must be a revision
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
832 [255]
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
833
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
834 Empty revset will error at the revset layer
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
835
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
836 $ fileset "status(' ', '4', added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
837 hg: parse error at 1: not a prefix: end
36685
2a258985ffeb revsetlang: add a hint for more useful parse errors
Ryan McElroy <rmcelroy@fb.com>
parents: 36028
diff changeset
838 (
2a258985ffeb revsetlang: add a hint for more useful parse errors
Ryan McElroy <rmcelroy@fb.com>
parents: 36028
diff changeset
839 ^ here)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
840 [255]
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
841 $ fileset "status('2', ' ', added())"
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
842 hg: parse error at 1: not a prefix: end
36685
2a258985ffeb revsetlang: add a hint for more useful parse errors
Ryan McElroy <rmcelroy@fb.com>
parents: 36028
diff changeset
843 (
2a258985ffeb revsetlang: add a hint for more useful parse errors
Ryan McElroy <rmcelroy@fb.com>
parents: 36028
diff changeset
844 ^ here)
31195
6b098ac4542e fileset: add a 'status(...)' predicate to control evaluation context
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31193
diff changeset
845 [255]