Patchwork [2,of,4] debugwalk: show matcher output only if -v/--verbose

login
register
mail settings
Submitter Yuya Nishihara
Date June 11, 2018, 1:07 p.m.
Message ID <ff248c56af342b1e07e1.1528722427@mimosa>
Download mbox | patch
Permalink /patch/32057/
State Accepted
Headers show

Comments

Yuya Nishihara - June 11, 2018, 1:07 p.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1528599236 -32400
#      Sun Jun 10 11:53:56 2018 +0900
# Node ID ff248c56af342b1e07e1d51bb4760da202111ba3
# Parent  40a20b62d7cc17999c8e879d62b4d95f1c3bb4cd
debugwalk: show matcher output only if -v/--verbose

And drop "egrep -v". This matches the behavior of "hg debugrevspec".
via Mercurial-devel - June 12, 2018, 8:44 p.m.
On Mon, Jun 11, 2018 at 6:07 AM Yuya Nishihara <yuya@tcha.org> wrote:

> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1528599236 -32400
> #      Sun Jun 10 11:53:56 2018 +0900
> # Node ID ff248c56af342b1e07e1d51bb4760da202111ba3
> # Parent  40a20b62d7cc17999c8e879d62b4d95f1c3bb4cd
> debugwalk: show matcher output only if -v/--verbose
>
> And drop "egrep -v". This matches the behavior of "hg debugrevspec".
>
> diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
> --- a/mercurial/debugcommands.py
> +++ b/mercurial/debugcommands.py
> @@ -2542,7 +2542,8 @@ def debugwalk(ui, repo, *pats, **opts):
>      """show how files match on given patterns"""
>      opts = pycompat.byteskwargs(opts)
>      m = scmutil.match(repo[None], pats, opts)
> -    ui.write(('matcher: %r\n' % m))
> +    if ui.verbose:
> +        ui.write(('matcher: %r\n' % m))
>

nit: These two lines are equivalent to "ui.note(('matcher: %r\n' % m))",
except that that also adds a "ui.note" label. Use that method instead?
Yuya Nishihara - June 13, 2018, 12:02 p.m.
On Tue, 12 Jun 2018 13:44:17 -0700, Martin von Zweigbergk wrote:
> > --- a/mercurial/debugcommands.py
> > +++ b/mercurial/debugcommands.py
> > @@ -2542,7 +2542,8 @@ def debugwalk(ui, repo, *pats, **opts):
> >      """show how files match on given patterns"""
> >      opts = pycompat.byteskwargs(opts)
> >      m = scmutil.match(repo[None], pats, opts)
> > -    ui.write(('matcher: %r\n' % m))
> > +    if ui.verbose:
> > +        ui.write(('matcher: %r\n' % m))
> >
> 
> nit: These two lines are equivalent to "ui.note(('matcher: %r\n' % m))",
> except that that also adds a "ui.note" label. Use that method instead?

Yeah, it could, but I'm not a fan of using note/status for data. At some
point, I want to add a way to separate status/note/debug messages from data
stream so that structured output (e.g. JSON/CBOR) won't be messed up.
via Mercurial-devel - June 13, 2018, 6:30 p.m.
On Wed, Jun 13, 2018 at 5:03 AM Yuya Nishihara <yuya@tcha.org> wrote:

> On Tue, 12 Jun 2018 13:44:17 -0700, Martin von Zweigbergk wrote:
> > > --- a/mercurial/debugcommands.py
> > > +++ b/mercurial/debugcommands.py
> > > @@ -2542,7 +2542,8 @@ def debugwalk(ui, repo, *pats, **opts):
> > >      """show how files match on given patterns"""
> > >      opts = pycompat.byteskwargs(opts)
> > >      m = scmutil.match(repo[None], pats, opts)
> > > -    ui.write(('matcher: %r\n' % m))
> > > +    if ui.verbose:
> > > +        ui.write(('matcher: %r\n' % m))
> > >
> >
> > nit: These two lines are equivalent to "ui.note(('matcher: %r\n' % m))",
> > except that that also adds a "ui.note" label. Use that method instead?
>
> Yeah, it could, but I'm not a fan of using note/status for data. At some
> point, I want to add a way to separate status/note/debug messages from data
> stream so that structured output (e.g. JSON/CBOR) won't be messed up.
>

Fair enough, I mostly wanted point out that the method existed in case you
had forgotten.

Patch

diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -2542,7 +2542,8 @@  def debugwalk(ui, repo, *pats, **opts):
     """show how files match on given patterns"""
     opts = pycompat.byteskwargs(opts)
     m = scmutil.match(repo[None], pats, opts)
-    ui.write(('matcher: %r\n' % m))
+    if ui.verbose:
+        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
@@ -32,7 +32,7 @@  test issue352
   abort: '\n' and '\r' disallowed in filenames: 'hell\no'
   [255]
   $ echo foo > "$A"
-  $ hg debugwalk
+  $ hg debugwalk -v
   matcher: <alwaysmatcher>
   f  he\r (no-eol) (esc)
   llo  he\r (no-eol) (esc)
diff --git a/tests/test-narrow-commit.t b/tests/test-narrow-commit.t
--- a/tests/test-narrow-commit.t
+++ b/tests/test-narrow-commit.t
@@ -49,7 +49,7 @@  Can not modify dirstate outside
 
   $ mkdir outside
   $ touch outside/f1
-  $ hg debugwalk -I 'relglob:f1'
+  $ hg debugwalk -v -I 'relglob:f1'
   matcher: <includematcher includes='(?:(?:|.*/)f1(?:/|$))'>
   f  inside/f1  inside/f1
   $ hg add outside/f1
diff --git a/tests/test-walk.t b/tests/test-walk.t
--- a/tests/test-walk.t
+++ b/tests/test-walk.t
@@ -28,7 +28,7 @@ 
   adding mammals/skunk
   $ hg commit -m "commit #0"
 
-  $ hg debugwalk
+  $ hg debugwalk -v
   matcher: <alwaysmatcher>
   f  beans/black                     beans/black
   f  beans/borlotti                  beans/borlotti
@@ -43,7 +43,7 @@ 
   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   f  mammals/skunk                   mammals/skunk
-  $ hg debugwalk -I.
+  $ hg debugwalk -v -I.
   matcher: <includematcher includes='(?:)'>
   f  beans/black                     beans/black
   f  beans/borlotti                  beans/borlotti
@@ -60,7 +60,7 @@ 
   f  mammals/skunk                   mammals/skunk
 
   $ cd mammals
-  $ hg debugwalk
+  $ hg debugwalk -v
   matcher: <alwaysmatcher>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
@@ -75,7 +75,7 @@ 
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
-  $ hg debugwalk -X ../beans
+  $ hg debugwalk -v -X ../beans
   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   f  fennel                          ../fennel
   f  fenugreek                       ../fenugreek
@@ -84,31 +84,31 @@ 
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
-  $ hg debugwalk -I '*k'
+  $ hg debugwalk -v -I '*k'
   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'glob:*k'
+  $ hg debugwalk -v -I 'glob:*k'
   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'relglob:*k'
+  $ hg debugwalk -v -I 'relglob:*k'
   matcher: <includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'relglob:*k' .
+  $ hg debugwalk -v -I 'relglob:*k' .
   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 're:.*k$'
+  $ hg debugwalk -v -I 're:.*k$'
   matcher: <includematcher includes='(?:.*k$)'>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'relre:.*k$'
+  $ hg debugwalk -v -I 'relre:.*k$'
   matcher: <includematcher includes='(?:.*.*k$)'>
   f  beans/black    ../beans/black
   f  fenugreek      ../fenugreek
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'path:beans'
+  $ hg debugwalk -v -I 'path:beans'
   matcher: <includematcher includes='(?:beans(?:/|$))'>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
@@ -116,7 +116,7 @@ 
   f  beans/navy      ../beans/navy
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
-  $ hg debugwalk -I 'relpath:detour/../../beans'
+  $ hg debugwalk -v -I 'relpath:detour/../../beans'
   matcher: <includematcher includes='(?:beans(?:/|$))'>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
@@ -125,27 +125,27 @@ 
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
 
-  $ hg debugwalk 'rootfilesin:'
+  $ hg debugwalk -v 'rootfilesin:'
   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
-  $ hg debugwalk -I 'rootfilesin:'
+  $ hg debugwalk -v -I 'rootfilesin:'
   matcher: <includematcher includes='(?:[^/]+$)'>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
-  $ hg debugwalk 'rootfilesin:.'
+  $ hg debugwalk -v 'rootfilesin:.'
   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
-  $ hg debugwalk -I 'rootfilesin:.'
+  $ hg debugwalk -v -I 'rootfilesin:.'
   matcher: <includematcher includes='(?:[^/]+$)'>
   f  fennel      ../fennel
   f  fenugreek   ../fenugreek
   f  fiddlehead  ../fiddlehead
-  $ hg debugwalk -X 'rootfilesin:'
+  $ hg debugwalk -v -X 'rootfilesin:'
   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:[^/]+$)'>>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
@@ -157,15 +157,15 @@ 
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   f  mammals/skunk                   skunk
-  $ hg debugwalk 'rootfilesin:fennel'
+  $ hg debugwalk -v 'rootfilesin:fennel'
   matcher: <patternmatcher patterns='(?:fennel/[^/]+$)'>
-  $ hg debugwalk -I 'rootfilesin:fennel'
+  $ hg debugwalk -v -I 'rootfilesin:fennel'
   matcher: <includematcher includes='(?:fennel/[^/]+$)'>
-  $ hg debugwalk 'rootfilesin:skunk'
+  $ hg debugwalk -v 'rootfilesin:skunk'
   matcher: <patternmatcher patterns='(?:skunk/[^/]+$)'>
-  $ hg debugwalk -I 'rootfilesin:skunk'
+  $ hg debugwalk -v -I 'rootfilesin:skunk'
   matcher: <includematcher includes='(?:skunk/[^/]+$)'>
-  $ hg debugwalk 'rootfilesin:beans'
+  $ hg debugwalk -v 'rootfilesin:beans'
   matcher: <patternmatcher patterns='(?:beans/[^/]+$)'>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
@@ -173,7 +173,7 @@ 
   f  beans/navy      ../beans/navy
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
-  $ hg debugwalk -I 'rootfilesin:beans'
+  $ hg debugwalk -v -I 'rootfilesin:beans'
   matcher: <includematcher includes='(?:beans/[^/]+$)'>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
@@ -181,19 +181,19 @@ 
   f  beans/navy      ../beans/navy
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
-  $ hg debugwalk 'rootfilesin:mammals'
+  $ hg debugwalk -v 'rootfilesin:mammals'
   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'rootfilesin:mammals'
+  $ hg debugwalk -v -I 'rootfilesin:mammals'
   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   f  mammals/skunk  skunk
-  $ hg debugwalk 'rootfilesin:mammals/'
+  $ hg debugwalk -v 'rootfilesin:mammals/'
   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   f  mammals/skunk  skunk
-  $ hg debugwalk -I 'rootfilesin:mammals/'
+  $ hg debugwalk -v -I 'rootfilesin:mammals/'
   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   f  mammals/skunk  skunk
-  $ hg debugwalk -X 'rootfilesin:mammals'
+  $ hg debugwalk -v -X 'rootfilesin:mammals'
   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:mammals/[^/]+$)'>>
   f  beans/black                     ../beans/black
   f  beans/borlotti                  ../beans/borlotti
@@ -208,31 +208,31 @@ 
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
 
-  $ hg debugwalk .
+  $ hg debugwalk -v .
   matcher: <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 -I.
+  $ hg debugwalk -v -I.
   matcher: <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 Procyonidae
+  $ hg debugwalk -v Procyonidae
   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
 
   $ cd Procyonidae
-  $ hg debugwalk .
+  $ hg debugwalk -v .
   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   f  mammals/Procyonidae/cacomistle  cacomistle
   f  mammals/Procyonidae/coatimundi  coatimundi
   f  mammals/Procyonidae/raccoon     raccoon
-  $ hg debugwalk ..
+  $ hg debugwalk -v ..
   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   f  mammals/Procyonidae/cacomistle  cacomistle
   f  mammals/Procyonidae/coatimundi  coatimundi
@@ -240,7 +240,7 @@ 
   f  mammals/skunk                   ../skunk
   $ cd ..
 
-  $ hg debugwalk ../beans
+  $ hg debugwalk -v ../beans
   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   f  beans/black     ../beans/black
   f  beans/borlotti  ../beans/borlotti
@@ -248,21 +248,21 @@ 
   f  beans/navy      ../beans/navy
   f  beans/pinto     ../beans/pinto
   f  beans/turtle    ../beans/turtle
-  $ hg debugwalk .
+  $ hg debugwalk -v .
   matcher: <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 .hg
+  $ hg debugwalk -v .hg
   abort: path 'mammals/.hg' is inside nested repo 'mammals'
   [255]
-  $ hg debugwalk ../.hg
+  $ hg debugwalk -v ../.hg
   abort: path contains illegal component: .hg
   [255]
   $ cd ..
 
-  $ hg debugwalk -Ibeans
+  $ hg debugwalk -v -Ibeans
   matcher: <includematcher includes='(?:beans(?:/|$))'>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
@@ -270,92 +270,92 @@ 
   f  beans/navy      beans/navy
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
-  $ hg debugwalk -I '{*,{b,m}*/*}k'
+  $ hg debugwalk -v -I '{*,{b,m}*/*}k'
   matcher: <includematcher includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))'>
   f  beans/black    beans/black
   f  fenugreek      fenugreek
   f  mammals/skunk  mammals/skunk
-  $ hg debugwalk -Ibeans mammals
+  $ hg debugwalk -v -Ibeans mammals
   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
-  $ hg debugwalk -Inon-existent
+  $ hg debugwalk -v -Inon-existent
   matcher: <includematcher includes='(?:non\\-existent(?:/|$))'>
-  $ hg debugwalk -Inon-existent -Ibeans/black
+  $ hg debugwalk -v -Inon-existent -Ibeans/black
   matcher: <includematcher includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))'>
   f  beans/black  beans/black
-  $ hg debugwalk -Ibeans beans/black
+  $ hg debugwalk -v -Ibeans beans/black
   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   f  beans/black  beans/black  exact
-  $ hg debugwalk -Ibeans/black beans
+  $ hg debugwalk -v -Ibeans/black beans
   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   f  beans/black  beans/black
-  $ hg debugwalk -Xbeans/black beans
+  $ hg debugwalk -v -Xbeans/black beans
   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher 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
+  $ hg debugwalk -v -Xbeans/black -Ibeans
   matcher: <differencematcher m1=<includematcher includes='(?:beans(?:/|$))'>, m2=<includematcher 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
+  $ hg debugwalk -v -Xbeans/black beans/black
   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
-  $ hg debugwalk -Xbeans/black -Ibeans/black
+  $ hg debugwalk -v -Xbeans/black -Ibeans/black
   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
-  $ hg debugwalk -Xbeans beans/black
+  $ hg debugwalk -v -Xbeans beans/black
   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
-  $ hg debugwalk -Xbeans -Ibeans/black
+  $ hg debugwalk -v -Xbeans -Ibeans/black
   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
-  $ hg debugwalk 'glob:mammals/../beans/b*'
+  $ hg debugwalk -v 'glob:mammals/../beans/b*'
   matcher: <patternmatcher patterns='(?:beans\\/b[^/]*$)'>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
-  $ hg debugwalk '-X*/Procyonidae' mammals
+  $ hg debugwalk -v '-X*/Procyonidae' mammals
   matcher: <differencematcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:[^/]*\\/Procyonidae(?:/|$))'>>
   f  mammals/skunk  mammals/skunk
-  $ hg debugwalk path:mammals
+  $ hg debugwalk -v path:mammals
   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   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 ..
+  $ hg debugwalk -v ..
   abort: .. not under root '$TESTTMP/t'
   [255]
-  $ hg debugwalk beans/../..
+  $ hg debugwalk -v beans/../..
   abort: beans/../.. not under root '$TESTTMP/t'
   [255]
-  $ hg debugwalk .hg
+  $ hg debugwalk -v .hg
   abort: path contains illegal component: .hg
   [255]
-  $ hg debugwalk beans/../.hg
+  $ hg debugwalk -v beans/../.hg
   abort: path contains illegal component: .hg
   [255]
-  $ hg debugwalk beans/../.hg/data
+  $ hg debugwalk -v beans/../.hg/data
   abort: path contains illegal component: .hg/data
   [255]
-  $ hg debugwalk beans/.hg
+  $ hg debugwalk -v beans/.hg
   abort: path 'beans/.hg' is inside nested repo 'beans'
   [255]
 
 Test explicit paths and excludes:
 
-  $ hg debugwalk fennel -X fennel
+  $ hg debugwalk -v fennel -X fennel
   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:fennel(?:/|$))'>>
-  $ hg debugwalk fennel -X 'f*'
+  $ hg debugwalk -v fennel -X 'f*'
   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:f[^/]*(?:/|$))'>>
-  $ hg debugwalk beans/black -X 'path:beans'
+  $ hg debugwalk -v beans/black -X 'path:beans'
   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
-  $ hg debugwalk -I 'path:beans/black' -X 'path:beans'
+  $ hg debugwalk -v -I 'path:beans/black' -X 'path:beans'
   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
 
 Test absolute paths:
 
-  $ hg debugwalk `pwd`/beans
+  $ hg debugwalk -v `pwd`/beans
   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
@@ -363,13 +363,13 @@  Test absolute paths:
   f  beans/navy      beans/navy
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
-  $ hg debugwalk `pwd`/..
+  $ hg debugwalk -v `pwd`/..
   abort: $TESTTMP/t/.. not under root '$TESTTMP/t'
   [255]
 
 Test patterns:
 
-  $ hg debugwalk glob:\*
+  $ hg debugwalk -v glob:\*
   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   f  fennel      fennel
   f  fenugreek   fenugreek
@@ -379,19 +379,19 @@  Test patterns:
   $ hg addremove
   adding glob:glob
   warning: filename contains ':', which is reserved on Windows: 'glob:glob'
-  $ hg debugwalk glob:\*
+  $ hg debugwalk -v glob:\*
   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   f  fennel      fennel
   f  fenugreek   fenugreek
   f  fiddlehead  fiddlehead
   f  glob:glob   glob:glob
-  $ hg debugwalk glob:glob
+  $ hg debugwalk -v glob:glob
   matcher: <patternmatcher patterns='(?:glob$)'>
   glob: $ENOENT$
-  $ hg debugwalk glob:glob:glob
+  $ hg debugwalk -v glob:glob:glob
   matcher: <patternmatcher patterns='(?:glob\\:glob$)'>
   f  glob:glob  glob:glob  exact
-  $ hg debugwalk path:glob:glob
+  $ hg debugwalk -v path:glob:glob
   matcher: <patternmatcher patterns='(?:glob\\:glob(?:/|$))'>
   f  glob:glob  glob:glob  exact
   $ rm glob:glob
@@ -399,38 +399,38 @@  Test patterns:
   removing glob:glob
 #endif
 
-  $ hg debugwalk 'glob:**e'
+  $ hg debugwalk -v 'glob:**e'
   matcher: <patternmatcher patterns='(?:.*e$)'>
   f  beans/turtle                    beans/turtle
   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
 
-  $ hg debugwalk 're:.*[kb]$'
+  $ hg debugwalk -v 're:.*[kb]$'
   matcher: <patternmatcher patterns='(?:.*[kb]$)'>
   f  beans/black    beans/black
   f  fenugreek      fenugreek
   f  mammals/skunk  mammals/skunk
 
-  $ hg debugwalk path:beans/black
+  $ hg debugwalk -v path:beans/black
   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   f  beans/black  beans/black  exact
-  $ hg debugwalk path:beans//black
+  $ hg debugwalk -v path:beans//black
   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   f  beans/black  beans/black  exact
 
-  $ hg debugwalk relglob:Procyonidae
+  $ hg debugwalk -v relglob:Procyonidae
   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae$)'>
-  $ hg debugwalk 'relglob:Procyonidae/**'
+  $ hg debugwalk -v 'relglob:Procyonidae/**'
   matcher: <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 'relglob:Procyonidae/**' fennel
+  $ hg debugwalk -v 'relglob:Procyonidae/**' fennel
   matcher: <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 beans 'glob:beans/*'
+  $ hg debugwalk -v beans 'glob:beans/*'
   matcher: <patternmatcher patterns='(?:beans(?:/|$)|beans\\/[^/]*$)'>
   f  beans/black     beans/black
   f  beans/borlotti  beans/borlotti
@@ -438,78 +438,78 @@  Test patterns:
   f  beans/navy      beans/navy
   f  beans/pinto     beans/pinto
   f  beans/turtle    beans/turtle
-  $ hg debugwalk 'glob:mamm**'
+  $ hg debugwalk -v 'glob:mamm**'
   matcher: <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 'glob:mamm**' fennel
+  $ hg debugwalk -v 'glob:mamm**' fennel
   matcher: <patternmatcher patterns='(?:mamm.*$|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
   f  mammals/skunk                   mammals/skunk
-  $ hg debugwalk 'glob:j*'
+  $ hg debugwalk -v 'glob:j*'
   matcher: <patternmatcher patterns='(?:j[^/]*$)'>
-  $ hg debugwalk NOEXIST
+  $ hg debugwalk -v NOEXIST
   matcher: <patternmatcher patterns='(?:NOEXIST(?:/|$))'>
   NOEXIST: * (glob)
 
 #if fifo
   $ mkfifo fifo
-  $ hg debugwalk fifo
+  $ hg debugwalk -v fifo
   matcher: <patternmatcher patterns='(?:fifo(?:/|$))'>
   fifo: unsupported file type (type is fifo)
 #endif
 
   $ rm fenugreek
-  $ hg debugwalk fenugreek
+  $ hg debugwalk -v fenugreek
   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   f  fenugreek  fenugreek  exact
   $ hg rm fenugreek
-  $ hg debugwalk fenugreek
+  $ hg debugwalk -v fenugreek
   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   f  fenugreek  fenugreek  exact
   $ touch new
-  $ hg debugwalk new
+  $ hg debugwalk -v new
   matcher: <patternmatcher patterns='(?:new(?:/|$))'>
   f  new  new  exact
 
   $ mkdir ignored
   $ touch ignored/file
   $ echo '^ignored$' > .hgignore
-  $ hg debugwalk ignored
+  $ hg debugwalk -v ignored
   matcher: <patternmatcher patterns='(?:ignored(?:/|$))'>
-  $ hg debugwalk ignored/file
+  $ hg debugwalk -v ignored/file
   matcher: <patternmatcher patterns='(?:ignored\\/file(?:/|$))'>
   f  ignored/file  ignored/file  exact
 
 Test listfile and listfile0
 
   $ $PYTHON -c "open('listfile0', 'wb').write(b'fenugreek\0new\0')"
-  $ hg debugwalk -I 'listfile0:listfile0'
+  $ hg debugwalk -v -I 'listfile0:listfile0'
   matcher: <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 -I 'listfile:listfile'
+  $ hg debugwalk -v -I 'listfile:listfile'
   matcher: <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))'>
   f  fenugreek      fenugreek
   f  mammals/skunk  mammals/skunk
   f  new            new
 
   $ cd ..
-  $ hg debugwalk -R t t/mammals/skunk
+  $ hg debugwalk -v -R t t/mammals/skunk
   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   f  mammals/skunk  t/mammals/skunk  exact
   $ mkdir t2
   $ cd t2
-  $ hg debugwalk -R ../t ../t/mammals/skunk
+  $ hg debugwalk -v -R ../t ../t/mammals/skunk
   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   f  mammals/skunk  ../t/mammals/skunk  exact
-  $ hg debugwalk --cwd ../t mammals/skunk
+  $ hg debugwalk -v --cwd ../t mammals/skunk
   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   f  mammals/skunk  mammals/skunk  exact
 
@@ -526,7 +526,7 @@  Test split patterns on overflow
   > EOF
   $ $PYTHON printnum.py >> overflow.list
   $ echo fenugreek >> overflow.list
-  $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '(^matcher: |^xxx)'
+  $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '^xxx'
   f  fennel     fennel     exact
   f  fenugreek  fenugreek  exact
   $ cd ..