Patchwork [1,of,5] debugwalk: also print matcher representation

login
register
mail settings
Submitter via Mercurial-devel
Date May 24, 2017, 12:04 a.m.
Message ID <0f4af20ceddd58eb37db.1495584273@martinvonz.svl.corp.google.com>
Download mbox | patch
Permalink /patch/20877/
State Accepted
Headers show

Comments

via Mercurial-devel - May 24, 2017, 12:04 a.m.
# HG changeset patch
# User Martin von Zweigbergk <martinvonz@google.com>
# Date 1495476532 25200
#      Mon May 22 11:08:52 2017 -0700
# Node ID 0f4af20ceddd58eb37db6d1aa2f0331b29b1137a
# Parent  34e9b8b94f66db7ebe366f67cea7b64bd0ec6968
debugwalk: also print matcher representation

This will make the effect of coming patches clearer.

Patch

diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -2125,6 +2125,7 @@ 
 def debugwalk(ui, repo, *pats, **opts):
     """show how files match on given patterns"""
     m = scmutil.match(repo[None], pats, opts)
+    ui.write(('matcher: %r\n' % m))
     items = list(repo[None].walk(m))
     if not items:
         return
diff --git a/tests/test-eolfilename.t b/tests/test-eolfilename.t
--- a/tests/test-eolfilename.t
+++ b/tests/test-eolfilename.t
@@ -33,6 +33,7 @@ 
   [255]
   $ echo foo > "$A"
   $ hg debugwalk
+  matcher: <matcher files=[], patterns=None, includes=None, excludes=None>
   f  he\r (no-eol) (esc)
   llo  he\r (no-eol) (esc)
   llo
diff --git a/tests/test-walk.t b/tests/test-walk.t
--- a/tests/test-walk.t
+++ b/tests/test-walk.t
@@ -29,6 +29,7 @@ 
   $ hg commit -m "commit #0"
 
   $ hg debugwalk
+  matcher: <matcher files=[], patterns=None, includes=None, excludes=None>
   f  beans/black                     beans/black
   f  beans/borlotti                  beans/borlotti
   f  beans/kidney                    beans/kidney
@@ -43,6 +44,7 @@ 
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   f  mammals/skunk                   mammals/skunk
   $ hg debugwalk -I.
+  matcher: <matcher files=[], patterns=None, includes='(?:)', excludes=None>
   f  beans/black                     beans/black
   f  beans/borlotti                  beans/borlotti
   f  beans/kidney                    beans/kidney
@@ -59,6 +61,7 @@ 
 
   $ cd mammals
   $ hg debugwalk
+  matcher: <matcher files=[], patterns=None, includes=None, excludes=None>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
   f  beans/kidney                    ../beans/kidney
@@ -73,6 +76,7 @@ 
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
   $ hg debugwalk -X ../beans
+  matcher: <matcher files=[], patterns=None, includes=None, excludes='(?:beans(?:/|$))'>
   f  fennel                          ../fennel
   f  fenugreek                       ../fenugreek
   f  fiddlehead                      ../fiddlehead
@@ -81,24 +85,31 @@ 
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
   $ hg debugwalk -I '*k'
+  matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))', excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'glob:*k'
+  matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))', excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'relglob:*k'
+  matcher: <matcher files=[], patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))', excludes=None>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'relglob:*k' .
+  matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes='(?:(?:|.*/)[^/]*k(?:/|$))', excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -I 're:.*k$'
+  matcher: <matcher files=[], patterns=None, includes='(?:.*k$)', excludes=None>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'relre:.*k$'
+  matcher: <matcher files=[], patterns=None, includes='(?:.*.*k$)', excludes=None>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'path:beans'
+  matcher: <matcher files=[], patterns=None, includes='(?:^beans(?:/|$))', excludes=None>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
   f  beans/kidney    ../beans/kidney
@@ -106,6 +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(?:/|$))', excludes=None>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
   f  beans/kidney    ../beans/kidney
@@ -114,22 +126,27 @@ 
   f  beans/turtle    ../beans/turtle
 
   $ hg debugwalk 'rootfilesin:'
+  matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None, excludes=None>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
   $ hg debugwalk -I 'rootfilesin:'
+  matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)', excludes=None>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
   $ hg debugwalk 'rootfilesin:.'
+  matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None, excludes=None>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
   $ hg debugwalk -I 'rootfilesin:.'
+  matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)', excludes=None>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
   $ hg debugwalk -X 'rootfilesin:'
+  matcher: <matcher files=[], patterns=None, includes=None, excludes='(?:^[^/]+$)'>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
   f  beans/kidney                    ../beans/kidney
@@ -141,10 +158,15 @@ 
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
   $ hg debugwalk 'rootfilesin:fennel'
+  matcher: <matcher files=[], patterns='(?:^fennel/[^/]+$)', includes=None, excludes=None>
   $ hg debugwalk -I 'rootfilesin:fennel'
+  matcher: <matcher files=[], patterns=None, includes='(?:^fennel/[^/]+$)', excludes=None>
   $ hg debugwalk 'rootfilesin:skunk'
+  matcher: <matcher files=[], patterns='(?:^skunk/[^/]+$)', includes=None, excludes=None>
   $ hg debugwalk -I 'rootfilesin:skunk'
+  matcher: <matcher files=[], patterns=None, includes='(?:^skunk/[^/]+$)', excludes=None>
   $ hg debugwalk 'rootfilesin:beans'
+  matcher: <matcher files=[], patterns='(?:^beans/[^/]+$)', includes=None, excludes=None>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
   f  beans/kidney    ../beans/kidney
@@ -152,6 +174,7 @@ 
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
   $ hg debugwalk -I 'rootfilesin:beans'
+  matcher: <matcher files=[], patterns=None, includes='(?:^beans/[^/]+$)', excludes=None>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
   f  beans/kidney    ../beans/kidney
@@ -159,14 +182,19 @@ 
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
   $ hg debugwalk 'rootfilesin:mammals'
+  matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None, excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'rootfilesin:mammals'
+  matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)', excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk 'rootfilesin:mammals/'
+  matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None, excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -I 'rootfilesin:mammals/'
+  matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)', excludes=None>
   f  mammals/skunk  skunk
   $ hg debugwalk -X 'rootfilesin:mammals'
+  matcher: <matcher files=[], patterns=None, includes=None, excludes='(?:^mammals/[^/]+$)'>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
   f  beans/kidney                    ../beans/kidney
@@ -181,26 +209,31 @@ 
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
 
   $ hg debugwalk .
+  matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=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(?:/|$))', excludes=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 Procyonidae
+  matcher: <matcher files=['mammals/Procyonidae'], patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None, excludes=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, excludes=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, excludes=None>
   f  mammals/Procyonidae/cacomistle  cacomistle
   f  mammals/Procyonidae/coatimundi  coatimundi
   f  mammals/Procyonidae/raccoon     raccoon
@@ -208,6 +241,7 @@ 
   $ cd ..
 
   $ hg debugwalk ../beans
+  matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes=None>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
   f  beans/kidney    ../beans/kidney
@@ -215,6 +249,7 @@ 
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
   $ hg debugwalk .
+  matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=None>
   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
@@ -228,6 +263,7 @@ 
   $ cd ..
 
   $ hg debugwalk -Ibeans
+  matcher: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
   f  beans/kidney    beans/kidney
@@ -235,41 +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(?:/|$))', excludes=None>
   f  beans/black    beans/black
   f  fenugreek      fenugreek
   f  mammals/skunk  mammals/skunk
   $ hg debugwalk -Ibeans mammals
+  matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes='(?:beans(?:/|$))', excludes=None>
   $ hg debugwalk -Inon-existent
+  matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$))', excludes=None>
   $ hg debugwalk -Inon-existent -Ibeans/black
+  matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))', excludes=None>
   f  beans/black  beans/black
   $ hg debugwalk -Ibeans beans/black
+  matcher: <matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes='(?:beans(?:/|$))', excludes=None>
   f  beans/black  beans/black  exact
   $ hg debugwalk -Ibeans/black beans
+  matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes='(?:beans\\/black(?:/|$))', excludes=None>
   f  beans/black  beans/black
   $ hg debugwalk -Xbeans/black beans
+  matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes='(?: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: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes='(?: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: <matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None, excludes='(?:beans\\/black(?:/|$))'>
   f  beans/black  beans/black  exact
   $ hg debugwalk -Xbeans/black -Ibeans/black
+  matcher: <matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes='(?:beans\\/black(?:/|$))'>
   $ hg debugwalk -Xbeans beans/black
+  matcher: <matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None, excludes='(?:beans(?:/|$))'>
   f  beans/black  beans/black  exact
   $ hg debugwalk -Xbeans -Ibeans/black
+  matcher: <matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes='(?:beans(?:/|$))'>
   $ hg debugwalk 'glob:mammals/../beans/b*'
+  matcher: <matcher files=['beans'], patterns='(?:beans\\/b[^/]*$)', includes=None, excludes=None>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
   $ hg debugwalk '-X*/Procyonidae' mammals
+  matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes='(?:[^/]*\\/Procyonidae(?:/|$))'>
   f  mammals/skunk  mammals/skunk
   $ hg debugwalk path:mammals
+  matcher: <matcher files=['mammals'], patterns='(?:^mammals(?:/|$))', includes=None, excludes=None>
   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
@@ -296,6 +347,7 @@ 
 Test absolute paths:
 
   $ hg debugwalk `pwd`/beans
+  matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes=None>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
   f  beans/kidney    beans/kidney
@@ -309,6 +361,7 @@ 
 Test patterns:
 
   $ hg debugwalk glob:\*
+  matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None, excludes=None>
   f  fennel      fennel
   f  fenugreek   fenugreek
   f  fiddlehead  fiddlehead
@@ -318,15 +371,19 @@ 
   adding glob:glob
   warning: filename contains ':', which is reserved on Windows: 'glob:glob'
   $ hg debugwalk glob:\*
+  matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None, excludes=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, excludes=None>
   glob: No such file or directory
   $ hg debugwalk glob:glob:glob
+  matcher: <matcher files=['glob:glob'], patterns='(?:glob\\:glob$)', includes=None, excludes=None>
   f  glob:glob  glob:glob  exact
   $ hg debugwalk path:glob:glob
+  matcher: <matcher files=['glob:glob'], patterns='(?:^glob\\:glob(?:/|$))', includes=None, excludes=None>
   f  glob:glob  glob:glob  exact
   $ rm glob:glob
   $ hg addremove
@@ -334,30 +391,38 @@ 
 #endif
 
   $ hg debugwalk 'glob:**e'
+  matcher: <matcher files=['.'], patterns='(?:.*e$)', includes=None, excludes=None>
   f  beans/turtle                    beans/turtle
   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
 
   $ hg debugwalk 're:.*[kb]$'
+  matcher: <matcher files=['.'], patterns='(?:.*[kb]$)', includes=None, excludes=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, excludes=None>
   f  beans/black  beans/black  exact
   $ hg debugwalk path:beans//black
+  matcher: <matcher files=['beans/black'], patterns='(?:^beans\\/black(?:/|$))', includes=None, excludes=None>
   f  beans/black  beans/black  exact
 
   $ hg debugwalk relglob:Procyonidae
+  matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae$)', includes=None, excludes=None>
   $ hg debugwalk 'relglob:Procyonidae/**'
+  matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae\\/.*$)', includes=None, excludes=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, excludes=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, excludes=None>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
   f  beans/kidney    beans/kidney
@@ -365,63 +430,78 @@ 
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
   $ hg debugwalk 'glob:mamm**'
+  matcher: <matcher files=['.'], patterns='(?:mamm.*$)', includes=None, excludes=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, excludes=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, excludes=None>
   $ hg debugwalk NOEXIST
+  matcher: <matcher files=['NOEXIST'], patterns='(?:NOEXIST(?:/|$))', includes=None, excludes=None>
   NOEXIST: * (glob)
 
 #if fifo
   $ mkfifo fifo
   $ hg debugwalk fifo
+  matcher: <matcher files=['fifo'], patterns='(?:fifo(?:/|$))', includes=None, excludes=None>
   fifo: unsupported file type (type is fifo)
 #endif
 
   $ rm fenugreek
   $ hg debugwalk fenugreek
+  matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None, excludes=None>
   f  fenugreek  fenugreek  exact
   $ hg rm fenugreek
   $ hg debugwalk fenugreek
+  matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None, excludes=None>
   f  fenugreek  fenugreek  exact
   $ touch new
   $ hg debugwalk new
+  matcher: <matcher files=['new'], patterns='(?:new(?:/|$))', includes=None, excludes=None>
   f  new  new  exact
 
   $ mkdir ignored
   $ touch ignored/file
   $ echo '^ignored$' > .hgignore
   $ hg debugwalk ignored
+  matcher: <matcher files=['ignored'], patterns='(?:ignored(?:/|$))', includes=None, excludes=None>
   $ hg debugwalk ignored/file
+  matcher: <matcher files=['ignored/file'], patterns='(?:ignored\\/file(?:/|$))', includes=None, excludes=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(?:/|$))', excludes=None>
   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(?:/|$))', excludes=None>
   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, excludes=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, excludes=None>
   f  mammals/skunk  ../t/mammals/skunk  exact
   $ hg debugwalk --cwd ../t mammals/skunk
+  matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None, excludes=None>
   f  mammals/skunk  mammals/skunk  exact
 
   $ cd ..
@@ -432,7 +512,7 @@ 
   $ echo fennel > overflow.list
   $ $PYTHON -c "for i in xrange(20000 / 100): print 'x' * 100" >> overflow.list
   $ echo fenugreek >> overflow.list
-  $ hg debugwalk 'listfile:overflow.list' 2>&1 | grep -v '^xxx'
+  $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '(^matcher: |^xxx)'
   f  fennel     fennel     exact
   f  fenugreek  fenugreek  exact
   $ cd ..