equal
deleted
inserted
replaced
200 m2=<predicatenmatcher pred=grep('b')>>]> |
200 m2=<predicatenmatcher pred=grep('b')>>]> |
201 a1 |
201 a1 |
202 a2 |
202 a2 |
203 b1 |
203 b1 |
204 b2 |
204 b2 |
|
205 |
|
206 Use differencematcher for 'x and not y': |
|
207 |
|
208 $ fileset -p optimized -s 'a* and not a1' |
|
209 * optimized: |
|
210 (minus |
|
211 (symbol 'a*') |
|
212 (symbol 'a1')) |
|
213 * matcher: |
|
214 <differencematcher |
|
215 m1=<patternmatcher patterns='(?:a[^/]*$)'>, |
|
216 m2=<patternmatcher patterns='(?:a1$)'>> |
|
217 a2 |
|
218 |
|
219 $ fileset -p optimized -s '!binary() and a*' |
|
220 * optimized: |
|
221 (minus |
|
222 (symbol 'a*') |
|
223 (func |
|
224 (symbol 'binary') |
|
225 None)) |
|
226 * matcher: |
|
227 <differencematcher |
|
228 m1=<patternmatcher patterns='(?:a[^/]*$)'>, |
|
229 m2=<predicatenmatcher pred=binary>> |
|
230 a1 |
|
231 a2 |
|
232 |
|
233 'x - y' is rewritten to 'x and not y' first so the operands can be reordered: |
|
234 |
|
235 $ fileset -p analyzed -p optimized -s 'a* - a1' |
|
236 * analyzed: |
|
237 (and |
|
238 (symbol 'a*') |
|
239 (not |
|
240 (symbol 'a1'))) |
|
241 * optimized: |
|
242 (minus |
|
243 (symbol 'a*') |
|
244 (symbol 'a1')) |
|
245 * matcher: |
|
246 <differencematcher |
|
247 m1=<patternmatcher patterns='(?:a[^/]*$)'>, |
|
248 m2=<patternmatcher patterns='(?:a1$)'>> |
|
249 a2 |
|
250 |
|
251 $ fileset -p analyzed -p optimized -s 'binary() - a*' |
|
252 * analyzed: |
|
253 (and |
|
254 (func |
|
255 (symbol 'binary') |
|
256 None) |
|
257 (not |
|
258 (symbol 'a*'))) |
|
259 * optimized: |
|
260 (and |
|
261 (not |
|
262 (symbol 'a*')) |
|
263 (func |
|
264 (symbol 'binary') |
|
265 None)) |
|
266 * matcher: |
|
267 <intersectionmatcher |
|
268 m1=<predicatenmatcher |
|
269 pred=<not |
|
270 <patternmatcher patterns='(?:a[^/]*$)'>>>, |
|
271 m2=<predicatenmatcher pred=binary>> |
205 |
272 |
206 Test files status |
273 Test files status |
207 |
274 |
208 $ rm a1 |
275 $ rm a1 |
209 $ hg rm a2 |
276 $ hg rm a2 |