[PATCH 08 of 17] match: remove support for exact matching from main match class
Martin von Zweigbergk
martinvonz at google.com
Thu May 25 14:24:49 EDT 2017
# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1495175979 25200
# Thu May 18 23:39:39 2017 -0700
# Node ID b762ebec5bc8b19be07d69b6128c7b82cb881dc8
# Parent fcae8bf1d1fbb5d7deb15b4dfa8f7a3ea768eef2
match: remove support for exact matching from main match class
Exact matching is now handled by the exactmatcher class.
We can safely remove _files from the __repr__() implementation,
because even though the field is set, the patternspat field is enough
for the representation to be unambiguous (which was not the case when
the matcher could handle exact matches).
diff --git a/mercurial/match.py b/mercurial/match.py
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -146,17 +146,17 @@
m = exactmatcher(root, cwd, patterns, badfn)
else:
m = matcher(root, cwd, normalize, patterns, include=None,
- default=default, exact=exact, auditor=auditor, ctx=ctx,
+ default=default, auditor=auditor, ctx=ctx,
listsubrepos=listsubrepos, warn=warn, badfn=badfn)
if include:
im = matcher(root, cwd, normalize, [], include=include, default=default,
- exact=False, auditor=auditor, ctx=ctx,
- listsubrepos=listsubrepos, warn=warn, badfn=None)
+ auditor=auditor, ctx=ctx, listsubrepos=listsubrepos,
+ warn=warn, badfn=None)
m = intersectmatchers(m, im)
if exclude:
em = matcher(root, cwd, normalize, [], include=exclude, default=default,
- exact=False, auditor=auditor, ctx=ctx,
- listsubrepos=listsubrepos, warn=warn, badfn=None)
+ auditor=auditor, ctx=ctx, listsubrepos=listsubrepos,
+ warn=warn, badfn=None)
m = differencematcher(m, em)
return m
@@ -313,7 +313,7 @@
class matcher(basematcher):
def __init__(self, root, cwd, normalize, patterns, include=None,
- default='glob', exact=False, auditor=None, ctx=None,
+ default='glob', auditor=None, ctx=None,
listsubrepos=False, warn=None, badfn=None):
super(matcher, self).__init__(root, cwd, badfn)
if include is None:
@@ -341,13 +341,7 @@
self._includeroots.update(roots)
self._includedirs.update(dirs)
matchfns.append(im)
- if exact:
- if isinstance(patterns, list):
- self._files = patterns
- else:
- self._files = list(patterns)
- matchfns.append(self.exact)
- elif patterns:
+ if patterns:
kindpats = normalize(patterns, default, root, cwd, auditor, warn)
if not _kindpatsalwaysmatch(kindpats):
self._files = _explicitfiles(kindpats)
@@ -404,12 +398,9 @@
def always(self):
return self._always
- def isexact(self):
- return self.matchfn == self.exact
-
def __repr__(self):
- return ('<matcher files=%r, patterns=%r, includes=%r>' %
- (self._files, self.patternspat, self.includepat))
+ return ('<matcher patterns=%r, includes=%r>' %
+ (self.patternspat, self.includepat))
class exactmatcher(basematcher):
diff --git a/tests/test-eolfilename.t b/tests/test-eolfilename.t
--- a/tests/test-eolfilename.t
+++ b/tests/test-eolfilename.t
@@ -33,7 +33,7 @@
[255]
$ echo foo > "$A"
$ hg debugwalk
- matcher: <matcher files=[], patterns=None, includes=None>
+ matcher: <matcher patterns=None, includes=None>
f he\r (no-eol) (esc)
llo he\r (no-eol) (esc)
llo
diff --git a/tests/test-hgignore.t b/tests/test-hgignore.t
--- a/tests/test-hgignore.t
+++ b/tests/test-hgignore.t
@@ -164,7 +164,7 @@
A b.o
$ hg debugignore
- <matcher files=[], patterns=None, includes='(?:(?:|.*/)[^/]*(?:/|$))'>
+ <matcher patterns=None, includes='(?:(?:|.*/)[^/]*(?:/|$))'>
$ hg debugignore b.o
b.o is ignored
diff --git a/tests/test-walk.t b/tests/test-walk.t
--- a/tests/test-walk.t
+++ b/tests/test-walk.t
@@ -29,7 +29,7 @@
$ hg commit -m "commit #0"
$ hg debugwalk
- matcher: <matcher files=[], patterns=None, includes=None>
+ matcher: <matcher patterns=None, includes=None>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -44,7 +44,7 @@
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
f mammals/skunk mammals/skunk
$ hg debugwalk -I.
- matcher: <matcher files=[], patterns=None, includes='(?:)'>
+ matcher: <matcher patterns=None, includes='(?:)'>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -61,7 +61,7 @@
$ cd mammals
$ hg debugwalk
- matcher: <matcher files=[], patterns=None, includes=None>
+ matcher: <matcher patterns=None, includes=None>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -76,7 +76,7 @@
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -X ../beans
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes=None>, m2=<matcher patterns=None, includes='(?:beans(?:/|$))'>>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
@@ -85,31 +85,31 @@
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -I '*k'
- matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))'>
f mammals/skunk skunk
$ hg debugwalk -I 'glob:*k'
- matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))'>
f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k'
- matcher: <matcher files=[], patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k' .
- matcher: <intersectionmatcher m1=<matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
+ matcher: <intersectionmatcher m1=<matcher patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
f mammals/skunk skunk
$ hg debugwalk -I 're:.*k$'
- matcher: <matcher files=[], patterns=None, includes='(?:.*k$)'>
+ matcher: <matcher patterns=None, includes='(?:.*k$)'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relre:.*k$'
- matcher: <matcher files=[], patterns=None, includes='(?:.*.*k$)'>
+ matcher: <matcher patterns=None, includes='(?:.*.*k$)'>
f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'path:beans'
- matcher: <matcher files=[], patterns=None, includes='(?:^beans(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:^beans(?:/|$))'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -117,7 +117,7 @@
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk -I 'relpath:detour/../../beans'
- matcher: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:beans(?:/|$))'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -126,27 +126,27 @@
f beans/turtle ../beans/turtle
$ hg debugwalk 'rootfilesin:'
- matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^[^/]+$)', includes=None>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -I 'rootfilesin:'
- matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^[^/]+$)'>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk 'rootfilesin:.'
- matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^[^/]+$)', includes=None>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -I 'rootfilesin:.'
- matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^[^/]+$)'>
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -X 'rootfilesin:'
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None>, m2=<matcher files=[], patterns=None, includes='(?:^[^/]+$)'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes=None>, m2=<matcher patterns=None, includes='(?:^[^/]+$)'>>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -158,15 +158,15 @@
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk 'rootfilesin:fennel'
- matcher: <matcher files=[], patterns='(?:^fennel/[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^fennel/[^/]+$)', includes=None>
$ hg debugwalk -I 'rootfilesin:fennel'
- matcher: <matcher files=[], patterns=None, includes='(?:^fennel/[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^fennel/[^/]+$)'>
$ hg debugwalk 'rootfilesin:skunk'
- matcher: <matcher files=[], patterns='(?:^skunk/[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^skunk/[^/]+$)', includes=None>
$ hg debugwalk -I 'rootfilesin:skunk'
- matcher: <matcher files=[], patterns=None, includes='(?:^skunk/[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^skunk/[^/]+$)'>
$ hg debugwalk 'rootfilesin:beans'
- matcher: <matcher files=[], patterns='(?:^beans/[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^beans/[^/]+$)', includes=None>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -174,7 +174,7 @@
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk -I 'rootfilesin:beans'
- matcher: <matcher files=[], patterns=None, includes='(?:^beans/[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^beans/[^/]+$)'>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -182,19 +182,19 @@
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk 'rootfilesin:mammals'
- matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^mammals/[^/]+$)', includes=None>
f mammals/skunk skunk
$ hg debugwalk -I 'rootfilesin:mammals'
- matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^mammals/[^/]+$)'>
f mammals/skunk skunk
$ hg debugwalk 'rootfilesin:mammals/'
- matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None>
+ matcher: <matcher patterns='(?:^mammals/[^/]+$)', includes=None>
f mammals/skunk skunk
$ hg debugwalk -I 'rootfilesin:mammals/'
- matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)'>
+ matcher: <matcher patterns=None, includes='(?:^mammals/[^/]+$)'>
f mammals/skunk skunk
$ hg debugwalk -X 'rootfilesin:mammals'
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None>, m2=<matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes=None>, m2=<matcher patterns=None, includes='(?:^mammals/[^/]+$)'>>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -209,31 +209,31 @@
f mammals/Procyonidae/raccoon Procyonidae/raccoon
$ hg debugwalk .
- matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
$ hg debugwalk -I.
- matcher: <matcher files=[], patterns=None, includes='(?:mammals(?:/|$))'>
+ matcher: <matcher patterns=None, 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 Procyonidae
- matcher: <matcher files=['mammals/Procyonidae'], patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
$ cd Procyonidae
$ hg debugwalk .
- matcher: <matcher files=['mammals/Procyonidae'], patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
$ hg debugwalk ..
- matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
@@ -241,7 +241,7 @@
$ cd ..
$ hg debugwalk ../beans
- matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:beans(?:/|$))', includes=None>
f beans/black ../beans/black
f beans/borlotti ../beans/borlotti
f beans/kidney ../beans/kidney
@@ -249,7 +249,7 @@
f beans/pinto ../beans/pinto
f beans/turtle ../beans/turtle
$ hg debugwalk .
- matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
@@ -263,7 +263,7 @@
$ cd ..
$ hg debugwalk -Ibeans
- matcher: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:beans(?:/|$))'>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -271,56 +271,56 @@
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -I '{*,{b,m}*/*}k'
- matcher: <matcher files=[], patterns=None, includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))'>
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
$ hg debugwalk -Ibeans mammals
- matcher: <intersectionmatcher m1=<matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>>
+ matcher: <intersectionmatcher m1=<matcher patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans(?:/|$))'>>
$ hg debugwalk -Inon-existent
- matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:non\\-existent(?:/|$))'>
$ hg debugwalk -Inon-existent -Ibeans/black
- matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))'>
f beans/black beans/black
$ hg debugwalk -Ibeans beans/black
- matcher: <intersectionmatcher m1=<matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>>
+ matcher: <intersectionmatcher m1=<matcher patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans(?:/|$))'>>
f beans/black beans/black exact
$ hg debugwalk -Ibeans/black beans
- matcher: <intersectionmatcher m1=<matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>>
+ matcher: <intersectionmatcher m1=<matcher patterns='(?:beans(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>>
f beans/black beans/black
$ hg debugwalk -Xbeans/black beans
- matcher: <differencematcher m1=<matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns='(?:beans(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>>
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -Xbeans/black -Ibeans
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes='(?:beans(?:/|$))'>, m2=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>>
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
f beans/navy beans/navy
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk -Xbeans/black beans/black
- matcher: <differencematcher m1=<matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>>
f beans/black beans/black exact
$ hg debugwalk -Xbeans/black -Ibeans/black
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>, m2=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>>
$ hg debugwalk -Xbeans beans/black
- matcher: <differencematcher m1=<matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns='(?:beans\\/black(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:beans(?:/|$))'>>
f beans/black beans/black exact
$ hg debugwalk -Xbeans -Ibeans/black
- matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))'>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns=None, includes='(?:beans\\/black(?:/|$))'>, m2=<matcher patterns=None, includes='(?:beans(?:/|$))'>>
$ hg debugwalk 'glob:mammals/../beans/b*'
- matcher: <matcher files=['beans'], patterns='(?:beans\\/b[^/]*$)', includes=None>
+ matcher: <matcher patterns='(?:beans\\/b[^/]*$)', includes=None>
f beans/black beans/black
f beans/borlotti beans/borlotti
$ hg debugwalk '-X*/Procyonidae' mammals
- matcher: <differencematcher m1=<matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher files=[], patterns=None, includes='(?:[^/]*\\/Procyonidae(?:/|$))'>>
+ matcher: <differencematcher m1=<matcher patterns='(?:mammals(?:/|$))', includes=None>, m2=<matcher patterns=None, includes='(?:[^/]*\\/Procyonidae(?:/|$))'>>
f mammals/skunk mammals/skunk
$ hg debugwalk path:mammals
- matcher: <matcher files=['mammals'], patterns='(?:^mammals(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:^mammals(?:/|$))', includes=None>
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
@@ -347,7 +347,7 @@
Test absolute paths:
$ hg debugwalk `pwd`/beans
- matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:beans(?:/|$))', includes=None>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -361,7 +361,7 @@
Test patterns:
$ hg debugwalk glob:\*
- matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None>
+ matcher: <matcher patterns='(?:[^/]*$)', includes=None>
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
@@ -371,19 +371,19 @@
adding glob:glob
warning: filename contains ':', which is reserved on Windows: 'glob:glob'
$ hg debugwalk glob:\*
- matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None>
+ matcher: <matcher patterns='(?:[^/]*$)', includes=None>
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
f glob:glob glob:glob
$ hg debugwalk glob:glob
- matcher: <matcher files=['glob'], patterns='(?:glob$)', includes=None>
+ matcher: <matcher patterns='(?:glob$)', includes=None>
glob: No such file or directory
$ hg debugwalk glob:glob:glob
- matcher: <matcher files=['glob:glob'], patterns='(?:glob\\:glob$)', includes=None>
+ matcher: <matcher patterns='(?:glob\\:glob$)', includes=None>
f glob:glob glob:glob exact
$ hg debugwalk path:glob:glob
- matcher: <matcher files=['glob:glob'], patterns='(?:^glob\\:glob(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:^glob\\:glob(?:/|$))', includes=None>
f glob:glob glob:glob exact
$ rm glob:glob
$ hg addremove
@@ -391,38 +391,38 @@
#endif
$ hg debugwalk 'glob:**e'
- matcher: <matcher files=['.'], patterns='(?:.*e$)', includes=None>
+ matcher: <matcher patterns='(?:.*e$)', includes=None>
f beans/turtle beans/turtle
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
$ hg debugwalk 're:.*[kb]$'
- matcher: <matcher files=['.'], patterns='(?:.*[kb]$)', includes=None>
+ matcher: <matcher patterns='(?:.*[kb]$)', includes=None>
f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
$ hg debugwalk path:beans/black
- matcher: <matcher files=['beans/black'], patterns='(?:^beans\\/black(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:^beans\\/black(?:/|$))', includes=None>
f beans/black beans/black exact
$ hg debugwalk path:beans//black
- matcher: <matcher files=['beans/black'], patterns='(?:^beans\\/black(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:^beans\\/black(?:/|$))', includes=None>
f beans/black beans/black exact
$ hg debugwalk relglob:Procyonidae
- matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae$)', includes=None>
+ matcher: <matcher patterns='(?:(?:|.*/)Procyonidae$)', includes=None>
$ hg debugwalk 'relglob:Procyonidae/**'
- matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae\\/.*$)', includes=None>
+ matcher: <matcher patterns='(?:(?:|.*/)Procyonidae\\/.*$)', includes=None>
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
$ hg debugwalk 'relglob:Procyonidae/**' fennel
- matcher: <matcher files=['.', 'fennel'], patterns='(?:(?:|.*/)Procyonidae\\/.*$|fennel(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:(?:|.*/)Procyonidae\\/.*$|fennel(?:/|$))', includes=None>
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 beans 'glob:beans/*'
- matcher: <matcher files=['beans', 'beans'], patterns='(?:beans(?:/|$)|beans\\/[^/]*$)', includes=None>
+ matcher: <matcher patterns='(?:beans(?:/|$)|beans\\/[^/]*$)', includes=None>
f beans/black beans/black
f beans/borlotti beans/borlotti
f beans/kidney beans/kidney
@@ -430,78 +430,78 @@
f beans/pinto beans/pinto
f beans/turtle beans/turtle
$ hg debugwalk 'glob:mamm**'
- matcher: <matcher files=['.'], patterns='(?:mamm.*$)', includes=None>
+ matcher: <matcher patterns='(?:mamm.*$)', includes=None>
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 'glob:mamm**' fennel
- matcher: <matcher files=['.', 'fennel'], patterns='(?:mamm.*$|fennel(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mamm.*$|fennel(?:/|$))', includes=None>
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
f mammals/skunk mammals/skunk
$ hg debugwalk 'glob:j*'
- matcher: <matcher files=['.'], patterns='(?:j[^/]*$)', includes=None>
+ matcher: <matcher patterns='(?:j[^/]*$)', includes=None>
$ hg debugwalk NOEXIST
- matcher: <matcher files=['NOEXIST'], patterns='(?:NOEXIST(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:NOEXIST(?:/|$))', includes=None>
NOEXIST: * (glob)
#if fifo
$ mkfifo fifo
$ hg debugwalk fifo
- matcher: <matcher files=['fifo'], patterns='(?:fifo(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:fifo(?:/|$))', includes=None>
fifo: unsupported file type (type is fifo)
#endif
$ rm fenugreek
$ hg debugwalk fenugreek
- matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:fenugreek(?:/|$))', includes=None>
f fenugreek fenugreek exact
$ hg rm fenugreek
$ hg debugwalk fenugreek
- matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:fenugreek(?:/|$))', includes=None>
f fenugreek fenugreek exact
$ touch new
$ hg debugwalk new
- matcher: <matcher files=['new'], patterns='(?:new(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:new(?:/|$))', includes=None>
f new new exact
$ mkdir ignored
$ touch ignored/file
$ echo '^ignored$' > .hgignore
$ hg debugwalk ignored
- matcher: <matcher files=['ignored'], patterns='(?:ignored(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:ignored(?:/|$))', includes=None>
$ hg debugwalk ignored/file
- matcher: <matcher files=['ignored/file'], patterns='(?:ignored\\/file(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:ignored\\/file(?:/|$))', includes=None>
f ignored/file ignored/file exact
Test listfile and listfile0
$ $PYTHON -c "file('listfile0', 'wb').write('fenugreek\0new\0')"
$ hg debugwalk -I 'listfile0:listfile0'
- matcher: <matcher files=[], patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$))'>
f fenugreek fenugreek
f new new
$ $PYTHON -c "file('listfile', 'wb').write('fenugreek\nnew\r\nmammals/skunk\n')"
$ hg debugwalk -I 'listfile:listfile'
- matcher: <matcher files=[], patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))'>
+ matcher: <matcher patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))'>
f fenugreek fenugreek
f mammals/skunk mammals/skunk
f new new
$ cd ..
$ hg debugwalk -R t t/mammals/skunk
- matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
f mammals/skunk t/mammals/skunk exact
$ mkdir t2
$ cd t2
$ hg debugwalk -R ../t ../t/mammals/skunk
- matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
f mammals/skunk ../t/mammals/skunk exact
$ hg debugwalk --cwd ../t mammals/skunk
- matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
+ matcher: <matcher patterns='(?:mammals\\/skunk(?:/|$))', includes=None>
f mammals/skunk mammals/skunk exact
$ cd ..
More information about the Mercurial-devel
mailing list