--- a/tests/test-walk.t Sun Dec 02 13:45:20 2018 -0800
+++ b/tests/test-walk.t Sun Dec 02 13:09:46 2018 -0800
@@ -46,7 +46,7 @@
f mammals/skunk mammals/skunk
$ hg debugwalk -v -I.
* matcher:
- <includematcher includes='(?:)'>
+ <includematcher includes=''>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -82,7 +82,7 @@
* matcher:
<differencematcher
m1=<alwaysmatcher>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m2=<includematcher includes='beans(?:/|$)'>>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
@@ -92,39 +92,39 @@
f mammals/skunk skunk
$ hg debugwalk -v -I '*k'
* matcher:
- <includematcher includes='(?:mammals/[^/]*k(?:/|$))'>
+ <includematcher includes='mammals/[^/]*k(?:/|$)'>
f mammals/skunk skunk
$ hg debugwalk -v -I 'glob:*k'
* matcher:
- <includematcher includes='(?:mammals/[^/]*k(?:/|$))'>
+ <includematcher includes='mammals/[^/]*k(?:/|$)'>
f mammals/skunk skunk
$ hg debugwalk -v -I 'relglob:*k'
* matcher:
- <includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
+ <includematcher includes='(?:|.*/)[^/]*k(?:/|$)'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -v -I 'relglob:*k' .
* matcher:
<intersectionmatcher
- m1=<patternmatcher patterns='(?:mammals(?:/|$))'>,
- m2=<includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
+ m1=<patternmatcher patterns='mammals(?:/|$)'>,
+ m2=<includematcher includes='(?:|.*/)[^/]*k(?:/|$)'>>
f mammals/skunk skunk
$ hg debugwalk -v -I 're:.*k$'
* matcher:
- <includematcher includes='(?:.*k$)'>
+ <includematcher includes='.*k$'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -v -I 'relre:.*k$'
* matcher:
- <includematcher includes='(?:.*.*k$)'>
+ <includematcher includes='.*.*k$'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -v -I 'path:beans'
* matcher:
- <includematcher includes='(?:beans(?:/|$))'>
+ <includematcher includes='beans(?:/|$)'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -133,7 +133,7 @@
f beans/turtle ../beans/turtle
$ hg debugwalk -v -I 'relpath:detour/../../beans'
* matcher:
- <includematcher includes='(?:beans(?:/|$))'>
+ <includematcher includes='beans(?:/|$)'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -246,21 +246,21 @@
$ hg debugwalk -v .
* matcher:
- <patternmatcher patterns='(?:mammals(?:/|$))'>
+ <patternmatcher patterns='mammals(?:/|$)'>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -v -I.
* matcher:
- <includematcher includes='(?:mammals(?:/|$))'>
+ <includematcher includes='mammals(?:/|$)'>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -v Procyonidae
* matcher:
- <patternmatcher patterns='(?:mammals/Procyonidae(?:/|$))'>
+ <patternmatcher patterns='mammals/Procyonidae(?:/|$)'>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
@@ -268,13 +268,13 @@
$ cd Procyonidae
$ hg debugwalk -v .
* matcher:
- <patternmatcher patterns='(?:mammals/Procyonidae(?:/|$))'>
+ <patternmatcher patterns='mammals/Procyonidae(?:/|$)'>
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
$ hg debugwalk -v ..
* matcher:
- <patternmatcher patterns='(?:mammals(?:/|$))'>
+ <patternmatcher patterns='mammals(?:/|$)'>
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
@@ -283,7 +283,7 @@
$ hg debugwalk -v ../beans
* matcher:
- <patternmatcher patterns='(?:beans(?:/|$))'>
+ <patternmatcher patterns='beans(?:/|$)'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -292,7 +292,7 @@
f beans/turtle ../beans/turtle
$ hg debugwalk -v .
* matcher:
- <patternmatcher patterns='(?:mammals(?:/|$))'>
+ <patternmatcher patterns='mammals(?:/|$)'>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
@@ -307,7 +307,7 @@
$ hg debugwalk -v -Ibeans
* matcher:
- <includematcher includes='(?:beans(?:/|$))'>
+ <includematcher includes='beans(?:/|$)'>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -316,39 +316,39 @@
f beans/turtle beans/turtle
$ hg debugwalk -v -I '{*,{b,m}*/*}k'
* matcher:
- <includematcher includes='(?:(?:[^/]*|(?:b|m)[^/]*/[^/]*)k(?:/|$))'>
+ <includematcher includes='(?:[^/]*|(?:b|m)[^/]*/[^/]*)k(?:/|$)'>
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
$ hg debugwalk -v -Ibeans mammals
* matcher:
<intersectionmatcher
- m1=<patternmatcher patterns='(?:mammals(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<patternmatcher patterns='mammals(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
$ hg debugwalk -v -Inon-existent
* matcher:
- <includematcher includes='(?:non\\-existent(?:/|$))'>
+ <includematcher includes='non\\-existent(?:/|$)'>
$ hg debugwalk -v -Inon-existent -Ibeans/black
* matcher:
- <includematcher includes='(?:non\\-existent(?:/|$)|beans/black(?:/|$))'>
+ <includematcher includes='non\\-existent(?:/|$)|beans/black(?:/|$)'>
f beans/black beans/black
$ hg debugwalk -v -Ibeans beans/black
* matcher:
<intersectionmatcher
- m1=<patternmatcher patterns='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<patternmatcher patterns='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
f beans/black beans/black exact
$ hg debugwalk -v -Ibeans/black beans
* matcher:
<intersectionmatcher
- m1=<patternmatcher patterns='(?:beans(?:/|$))'>,
- m2=<includematcher includes='(?:beans/black(?:/|$))'>>
+ m1=<patternmatcher patterns='beans(?:/|$)'>,
+ m2=<includematcher includes='beans/black(?:/|$)'>>
f beans/black beans/black
$ hg debugwalk -v -Xbeans/black beans
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:beans(?:/|$))'>,
- m2=<includematcher includes='(?:beans/black(?:/|$))'>>
+ m1=<patternmatcher patterns='beans(?:/|$)'>,
+ m2=<includematcher includes='beans/black(?:/|$)'>>
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
@@ -357,8 +357,8 @@
$ hg debugwalk -v -Xbeans/black -Ibeans
* matcher:
<differencematcher
- m1=<includematcher includes='(?:beans(?:/|$))'>,
- m2=<includematcher includes='(?:beans/black(?:/|$))'>>
+ m1=<includematcher includes='beans(?:/|$)'>,
+ m2=<includematcher includes='beans/black(?:/|$)'>>
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
@@ -367,37 +367,37 @@
$ hg debugwalk -v -Xbeans/black beans/black
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans/black(?:/|$))'>>
+ m1=<patternmatcher patterns='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans/black(?:/|$)'>>
$ hg debugwalk -v -Xbeans/black -Ibeans/black
* matcher:
<differencematcher
- m1=<includematcher includes='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans/black(?:/|$))'>>
+ m1=<includematcher includes='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans/black(?:/|$)'>>
$ hg debugwalk -v -Xbeans beans/black
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<patternmatcher patterns='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
$ hg debugwalk -v -Xbeans -Ibeans/black
* matcher:
<differencematcher
- m1=<includematcher includes='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<includematcher includes='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
$ hg debugwalk -v 'glob:mammals/../beans/b*'
* matcher:
- <patternmatcher patterns='(?:beans/b[^/]*$)'>
+ <patternmatcher patterns='beans/b[^/]*$'>
f beans/black beans/black
f beans/borlotti beans/borlotti
$ hg debugwalk -v '-X*/Procyonidae' mammals
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:mammals(?:/|$))'>,
- m2=<includematcher includes='(?:[^/]*/Procyonidae(?:/|$))'>>
+ m1=<patternmatcher patterns='mammals(?:/|$)'>,
+ m2=<includematcher includes='[^/]*/Procyonidae(?:/|$)'>>
f mammals/skunk mammals/skunk
$ hg debugwalk -v path:mammals
* matcher:
- <patternmatcher patterns='(?:mammals(?:/|$))'>
+ <patternmatcher patterns='mammals(?:/|$)'>
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
@@ -426,29 +426,29 @@
$ hg debugwalk -v fennel -X fennel
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:fennel(?:/|$))'>,
- m2=<includematcher includes='(?:fennel(?:/|$))'>>
+ m1=<patternmatcher patterns='fennel(?:/|$)'>,
+ m2=<includematcher includes='fennel(?:/|$)'>>
$ hg debugwalk -v fennel -X 'f*'
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:fennel(?:/|$))'>,
- m2=<includematcher includes='(?:f[^/]*(?:/|$))'>>
+ m1=<patternmatcher patterns='fennel(?:/|$)'>,
+ m2=<includematcher includes='f[^/]*(?:/|$)'>>
$ hg debugwalk -v beans/black -X 'path:beans'
* matcher:
<differencematcher
- m1=<patternmatcher patterns='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<patternmatcher patterns='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
$ hg debugwalk -v -I 'path:beans/black' -X 'path:beans'
* matcher:
<differencematcher
- m1=<includematcher includes='(?:beans/black(?:/|$))'>,
- m2=<includematcher includes='(?:beans(?:/|$))'>>
+ m1=<includematcher includes='beans/black(?:/|$)'>,
+ m2=<includematcher includes='beans(?:/|$)'>>
Test absolute paths:
$ hg debugwalk -v `pwd`/beans
* matcher:
- <patternmatcher patterns='(?:beans(?:/|$))'>
+ <patternmatcher patterns='beans(?:/|$)'>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -463,7 +463,7 @@
$ hg debugwalk -v glob:\*
* matcher:
- <patternmatcher patterns='(?:[^/]*$)'>
+ <patternmatcher patterns='[^/]*$'>
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
@@ -474,22 +474,22 @@
warning: filename contains ':', which is reserved on Windows: 'glob:glob'
$ hg debugwalk -v glob:\*
* matcher:
- <patternmatcher patterns='(?:[^/]*$)'>
+ <patternmatcher patterns='[^/]*$'>
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
f glob:glob glob:glob
$ hg debugwalk -v glob:glob
* matcher:
- <patternmatcher patterns='(?:glob$)'>
+ <patternmatcher patterns='glob$'>
glob: $ENOENT$
$ hg debugwalk -v glob:glob:glob
* matcher:
- <patternmatcher patterns='(?:glob:glob$)'>
+ <patternmatcher patterns='glob:glob$'>
f glob:glob glob:glob exact
$ hg debugwalk -v path:glob:glob
* matcher:
- <patternmatcher patterns='(?:glob:glob(?:/|$))'>
+ <patternmatcher patterns='glob:glob(?:/|$)'>
f glob:glob glob:glob exact
$ rm glob:glob
$ hg addremove
@@ -498,45 +498,45 @@
$ hg debugwalk -v 'glob:**e'
* matcher:
- <patternmatcher patterns='(?:.*e$)'>
+ <patternmatcher patterns='.*e$'>
f beans/turtle beans/turtle
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
$ hg debugwalk -v 're:.*[kb]$'
* matcher:
- <patternmatcher patterns='(?:.*[kb]$)'>
+ <patternmatcher patterns='.*[kb]$'>
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
$ hg debugwalk -v path:beans/black
* matcher:
- <patternmatcher patterns='(?:beans/black(?:/|$))'>
+ <patternmatcher patterns='beans/black(?:/|$)'>
f beans/black beans/black exact
$ hg debugwalk -v path:beans//black
* matcher:
- <patternmatcher patterns='(?:beans/black(?:/|$))'>
+ <patternmatcher patterns='beans/black(?:/|$)'>
f beans/black beans/black exact
$ hg debugwalk -v relglob:Procyonidae
* matcher:
- <patternmatcher patterns='(?:(?:|.*/)Procyonidae$)'>
+ <patternmatcher patterns='(?:|.*/)Procyonidae$'>
$ hg debugwalk -v 'relglob:Procyonidae/**'
* matcher:
- <patternmatcher patterns='(?:(?:|.*/)Procyonidae/.*$)'>
+ <patternmatcher patterns='(?:|.*/)Procyonidae/.*$'>
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
$ hg debugwalk -v 'relglob:Procyonidae/**' fennel
* matcher:
- <patternmatcher patterns='(?:(?:|.*/)Procyonidae/.*$|fennel(?:/|$))'>
+ <patternmatcher patterns='(?:|.*/)Procyonidae/.*$|fennel(?:/|$)'>
f fennel fennel exact
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
$ hg debugwalk -v beans 'glob:beans/*'
* matcher:
- <patternmatcher patterns='(?:beans(?:/|$)|beans/[^/]*$)'>
+ <patternmatcher patterns='beans(?:/|$)|beans/[^/]*$'>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -545,14 +545,14 @@
f beans/turtle beans/turtle
$ hg debugwalk -v 'glob:mamm**'
* matcher:
- <patternmatcher patterns='(?:mamm.*$)'>
+ <patternmatcher patterns='mamm.*$'>
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk -v 'glob:mamm**' fennel
* matcher:
- <patternmatcher patterns='(?:mamm.*$|fennel(?:/|$))'>
+ <patternmatcher patterns='mamm.*$|fennel(?:/|$)'>
f fennel fennel exact
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
@@ -560,34 +560,34 @@
f mammals/skunk mammals/skunk
$ hg debugwalk -v 'glob:j*'
* matcher:
- <patternmatcher patterns='(?:j[^/]*$)'>
+ <patternmatcher patterns='j[^/]*$'>
$ hg debugwalk -v NOEXIST
* matcher:
- <patternmatcher patterns='(?:NOEXIST(?:/|$))'>
+ <patternmatcher patterns='NOEXIST(?:/|$)'>
NOEXIST: * (glob)
#if fifo
$ mkfifo fifo
$ hg debugwalk -v fifo
* matcher:
- <patternmatcher patterns='(?:fifo(?:/|$))'>
+ <patternmatcher patterns='fifo(?:/|$)'>
fifo: unsupported file type (type is fifo)
#endif
$ rm fenugreek
$ hg debugwalk -v fenugreek
* matcher:
- <patternmatcher patterns='(?:fenugreek(?:/|$))'>
+ <patternmatcher patterns='fenugreek(?:/|$)'>
f fenugreek fenugreek exact
$ hg rm fenugreek
$ hg debugwalk -v fenugreek
* matcher:
- <patternmatcher patterns='(?:fenugreek(?:/|$))'>
+ <patternmatcher patterns='fenugreek(?:/|$)'>
f fenugreek fenugreek exact
$ touch new
$ hg debugwalk -v new
* matcher:
- <patternmatcher patterns='(?:new(?:/|$))'>
+ <patternmatcher patterns='new(?:/|$)'>
f new new exact
$ mkdir ignored
@@ -595,10 +595,10 @@
$ echo '^ignored$' > .hgignore
$ hg debugwalk -v ignored
* matcher:
- <patternmatcher patterns='(?:ignored(?:/|$))'>
+ <patternmatcher patterns='ignored(?:/|$)'>
$ hg debugwalk -v ignored/file
* matcher:
- <patternmatcher patterns='(?:ignored/file(?:/|$))'>
+ <patternmatcher patterns='ignored/file(?:/|$)'>
f ignored/file ignored/file exact
Test listfile and listfile0
@@ -606,13 +606,13 @@
$ "$PYTHON" -c "open('listfile0', 'wb').write(b'fenugreek\0new\0')"
$ hg debugwalk -v -I 'listfile0:listfile0'
* matcher:
- <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$))'>
+ <includematcher includes='fenugreek(?:/|$)|new(?:/|$)'>
f fenugreek fenugreek
f new new
$ "$PYTHON" -c "open('listfile', 'wb').write(b'fenugreek\nnew\r\nmammals/skunk\n')"
$ hg debugwalk -v -I 'listfile:listfile'
* matcher:
- <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals/skunk(?:/|$))'>
+ <includematcher includes='fenugreek(?:/|$)|new(?:/|$)|mammals/skunk(?:/|$)'>
f fenugreek fenugreek
f mammals/skunk mammals/skunk
f new new
@@ -620,17 +620,17 @@
$ cd ..
$ hg debugwalk -v -R t t/mammals/skunk
* matcher:
- <patternmatcher patterns='(?:mammals/skunk(?:/|$))'>
+ <patternmatcher patterns='mammals/skunk(?:/|$)'>
f mammals/skunk t/mammals/skunk exact
$ mkdir t2
$ cd t2
$ hg debugwalk -v -R ../t ../t/mammals/skunk
* matcher:
- <patternmatcher patterns='(?:mammals/skunk(?:/|$))'>
+ <patternmatcher patterns='mammals/skunk(?:/|$)'>
f mammals/skunk ../t/mammals/skunk exact
$ hg debugwalk -v --cwd ../t mammals/skunk
* matcher:
- <patternmatcher patterns='(?:mammals/skunk(?:/|$))'>
+ <patternmatcher patterns='mammals/skunk(?:/|$)'>
f mammals/skunk mammals/skunk exact
$ cd ..