Mercurial > hg
changeset 40782:3984409e144b
match: drop unnecessary wrapping of regex in group
It seems the regexes have been wrapped in an unnamed group since
b6c42714d900 (Add locate command., 2005-07-05). In that commit, the
grouping was needed because there was a "head" ('^') added before the
group and a "tail" (os.sep) added after it. It seems the head was
moved inside the group in 1c0c413cccdd (Get add and locate to use new
repo and dirstate walk code., 2005-07-18) and the tail was moved
inside the group in 89985a1b3427 (Clean up walk and changes code to
use normalised names properly., 2005-07-31), So it seems to me that
we've carried around the unnecessary group for 13 years. This patch
removes it.
Differential Revision: https://phab.mercurial-scm.org/D5352
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sun, 02 Dec 2018 13:09:46 -0800 |
parents | e115a6452b41 |
children | e207f0d6c243 |
files | mercurial/match.py tests/test-fileset.t tests/test-hgignore.t tests/test-narrow-commit.t tests/test-walk.t |
diffstat | 5 files changed, 103 insertions(+), 104 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/match.py Sun Dec 02 13:45:20 2018 -0800 +++ b/mercurial/match.py Sun Dec 02 13:09:46 2018 -0800 @@ -1185,11 +1185,10 @@ return regex, lambda f: any(mf(f) for mf in matchfuncs) MAX_RE_SIZE = 20000 -_BASE_SIZE = len('(?:)') def _joinregexes(regexps): """gather multiple regular expressions into a single one""" - return '(?:%s)' % '|'.join(regexps) + return '|'.join(regexps) def _buildregexmatch(kindpats, globsuffix): """Build a match function from a list of kinds and kindpats, @@ -1209,17 +1208,17 @@ fullregexp = _joinregexes(regexps) startidx = 0 - groupsize = _BASE_SIZE + groupsize = 0 for idx, r in enumerate(regexps): piecesize = len(r) - if (piecesize + _BASE_SIZE) > MAX_RE_SIZE: + if piecesize > MAX_RE_SIZE: msg = _("matcher pattern is too long (%d bytes)") % piecesize raise error.Abort(msg) elif (groupsize + piecesize) > MAX_RE_SIZE: group = regexps[startidx:idx] allgroups.append(_joinregexes(group)) startidx = idx - groupsize = _BASE_SIZE + groupsize = 0 groupsize += piecesize + 1 if startidx == 0: @@ -1233,7 +1232,7 @@ except re.error: for k, p, s in kindpats: try: - _rematcher('(?:%s)' % _regex(k, p, globsuffix)) + _rematcher(_regex(k, p, globsuffix)) except re.error: if s: raise error.Abort(_("%s: invalid pattern (%s): %s") %
--- a/tests/test-fileset.t Sun Dec 02 13:45:20 2018 -0800 +++ b/tests/test-fileset.t Sun Dec 02 13:09:46 2018 -0800 @@ -19,18 +19,18 @@ $ fileset -v a1 (symbol 'a1') * matcher: - <patternmatcher patterns='(?:a1$)'> + <patternmatcher patterns='a1$'> a1 $ fileset -v 'a*' (symbol 'a*') * matcher: - <patternmatcher patterns='(?:a[^/]*$)'> + <patternmatcher patterns='a[^/]*$'> a1 a2 $ fileset -v '"re:a\d"' (string 're:a\\d') * matcher: - <patternmatcher patterns='(?:a\\d)'> + <patternmatcher patterns='a\\d'> a1 a2 $ fileset -v '!re:"a\d"' @@ -41,7 +41,7 @@ * matcher: <predicatenmatcher pred=<not - <patternmatcher patterns='(?:a\\d)'>>> + <patternmatcher patterns='a\\d'>>> b1 b2 $ fileset -v 'path:a1 or glob:b?' @@ -53,7 +53,7 @@ (symbol 'glob') (symbol 'b?'))) * matcher: - <patternmatcher patterns='(?:a1(?:/|$)|b.$)'> + <patternmatcher patterns='a1(?:/|$)|b.$'> a1 b1 b2 @@ -196,7 +196,7 @@ (string 'b')))) * matcher: <unionmatcher matchers=[ - <patternmatcher patterns='(?:a1$|a2$)'>, + <patternmatcher patterns='a1$|a2$'>, <intersectionmatcher m1=<predicatenmatcher pred=clean>, m2=<predicatenmatcher pred=grep('b')>>]> @@ -216,7 +216,7 @@ (symbol 'path') (symbol 'b1'))) * matcher: - <patternmatcher patterns='(?:a1$|a2$|b1(?:/|$))'> + <patternmatcher patterns='a1$|a2$|b1(?:/|$)'> a1 a2 b1 @@ -237,7 +237,7 @@ (string 'b'))) * matcher: <unionmatcher matchers=[ - <patternmatcher patterns='(?:a1$|b2$)'>, + <patternmatcher patterns='a1$|b2$'>, <predicatenmatcher pred=grep('a')>, <predicatenmatcher pred=grep('b')>]> a1 @@ -254,8 +254,8 @@ (symbol 'a1')) * matcher: <differencematcher - m1=<patternmatcher patterns='(?:a[^/]*$)'>, - m2=<patternmatcher patterns='(?:a1$)'>> + m1=<patternmatcher patterns='a[^/]*$'>, + m2=<patternmatcher patterns='a1$'>> a2 $ fileset -p optimized -s '!binary() and a*' @@ -267,7 +267,7 @@ None)) * matcher: <differencematcher - m1=<patternmatcher patterns='(?:a[^/]*$)'>, + m1=<patternmatcher patterns='a[^/]*$'>, m2=<predicatenmatcher pred=binary>> a1 a2 @@ -286,8 +286,8 @@ (symbol 'a1')) * matcher: <differencematcher - m1=<patternmatcher patterns='(?:a[^/]*$)'>, - m2=<patternmatcher patterns='(?:a1$)'>> + m1=<patternmatcher patterns='a[^/]*$'>, + m2=<patternmatcher patterns='a1$'>> a2 $ fileset -p analyzed -p optimized -s 'binary() - a*' @@ -309,7 +309,7 @@ <intersectionmatcher m1=<predicatenmatcher pred=<not - <patternmatcher patterns='(?:a[^/]*$)'>>>, + <patternmatcher patterns='a[^/]*$'>>>, m2=<predicatenmatcher pred=binary>> Test files status @@ -551,7 +551,7 @@ None)) * matcher: <intersectionmatcher - m1=<patternmatcher patterns='(?:b[^/]*$)'>, + m1=<patternmatcher patterns='b[^/]*$'>, m2=<predicatenmatcher pred=binary>> bin
--- a/tests/test-hgignore.t Sun Dec 02 13:45:20 2018 -0800 +++ b/tests/test-hgignore.t Sun Dec 02 13:09:46 2018 -0800 @@ -197,7 +197,7 @@ A b.o $ hg debugignore - <includematcher includes='(?:(?:|.*/)[^/]*(?:/|$))'> + <includematcher includes='(?:|.*/)[^/]*(?:/|$)'> $ hg debugignore b.o b.o is ignored
--- a/tests/test-narrow-commit.t Sun Dec 02 13:45:20 2018 -0800 +++ b/tests/test-narrow-commit.t Sun Dec 02 13:09:46 2018 -0800 @@ -51,7 +51,7 @@ $ touch outside/f1 $ hg debugwalk -v -I 'relglob:f1' * matcher: - <includematcher includes='(?:(?:|.*/)f1(?:/|$))'> + <includematcher includes='(?:|.*/)f1(?:/|$)'> f inside/f1 inside/f1 $ hg add . $ hg add outside/f1
--- 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 ..