tests/test-walk.t
changeset 38262 7c3a59e2971b
parent 37317 14da486e820d
child 38263 dbf31732ef64
equal deleted inserted replaced
38261:f3033692ccef 38262:7c3a59e2971b
    26   adding mammals/Procyonidae/coatimundi
    26   adding mammals/Procyonidae/coatimundi
    27   adding mammals/Procyonidae/raccoon
    27   adding mammals/Procyonidae/raccoon
    28   adding mammals/skunk
    28   adding mammals/skunk
    29   $ hg commit -m "commit #0"
    29   $ hg commit -m "commit #0"
    30 
    30 
    31   $ hg debugwalk
    31   $ hg debugwalk -v
    32   matcher: <alwaysmatcher>
    32   matcher: <alwaysmatcher>
    33   f  beans/black                     beans/black
    33   f  beans/black                     beans/black
    34   f  beans/borlotti                  beans/borlotti
    34   f  beans/borlotti                  beans/borlotti
    35   f  beans/kidney                    beans/kidney
    35   f  beans/kidney                    beans/kidney
    36   f  beans/navy                      beans/navy
    36   f  beans/navy                      beans/navy
    41   f  fiddlehead                      fiddlehead
    41   f  fiddlehead                      fiddlehead
    42   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
    42   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
    43   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
    43   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
    44   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
    44   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
    45   f  mammals/skunk                   mammals/skunk
    45   f  mammals/skunk                   mammals/skunk
    46   $ hg debugwalk -I.
    46   $ hg debugwalk -v -I.
    47   matcher: <includematcher includes='(?:)'>
    47   matcher: <includematcher includes='(?:)'>
    48   f  beans/black                     beans/black
    48   f  beans/black                     beans/black
    49   f  beans/borlotti                  beans/borlotti
    49   f  beans/borlotti                  beans/borlotti
    50   f  beans/kidney                    beans/kidney
    50   f  beans/kidney                    beans/kidney
    51   f  beans/navy                      beans/navy
    51   f  beans/navy                      beans/navy
    58   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
    58   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
    59   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
    59   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
    60   f  mammals/skunk                   mammals/skunk
    60   f  mammals/skunk                   mammals/skunk
    61 
    61 
    62   $ cd mammals
    62   $ cd mammals
    63   $ hg debugwalk
    63   $ hg debugwalk -v
    64   matcher: <alwaysmatcher>
    64   matcher: <alwaysmatcher>
    65   f  beans/black                     ../beans/black
    65   f  beans/black                     ../beans/black
    66   f  beans/borlotti                  ../beans/borlotti
    66   f  beans/borlotti                  ../beans/borlotti
    67   f  beans/kidney                    ../beans/kidney
    67   f  beans/kidney                    ../beans/kidney
    68   f  beans/navy                      ../beans/navy
    68   f  beans/navy                      ../beans/navy
    73   f  fiddlehead                      ../fiddlehead
    73   f  fiddlehead                      ../fiddlehead
    74   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
    74   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
    75   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
    75   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
    76   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
    76   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
    77   f  mammals/skunk                   skunk
    77   f  mammals/skunk                   skunk
    78   $ hg debugwalk -X ../beans
    78   $ hg debugwalk -v -X ../beans
    79   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:beans(?:/|$))'>>
    79   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:beans(?:/|$))'>>
    80   f  fennel                          ../fennel
    80   f  fennel                          ../fennel
    81   f  fenugreek                       ../fenugreek
    81   f  fenugreek                       ../fenugreek
    82   f  fiddlehead                      ../fiddlehead
    82   f  fiddlehead                      ../fiddlehead
    83   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
    83   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
    84   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
    84   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
    85   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
    85   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
    86   f  mammals/skunk                   skunk
    86   f  mammals/skunk                   skunk
    87   $ hg debugwalk -I '*k'
    87   $ hg debugwalk -v -I '*k'
    88   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
    88   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
    89   f  mammals/skunk  skunk
    89   f  mammals/skunk  skunk
    90   $ hg debugwalk -I 'glob:*k'
    90   $ hg debugwalk -v -I 'glob:*k'
    91   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
    91   matcher: <includematcher includes='(?:mammals\\/[^/]*k(?:/|$))'>
    92   f  mammals/skunk  skunk
    92   f  mammals/skunk  skunk
    93   $ hg debugwalk -I 'relglob:*k'
    93   $ hg debugwalk -v -I 'relglob:*k'
    94   matcher: <includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
    94   matcher: <includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>
    95   f  beans/black    ../beans/black
    95   f  beans/black    ../beans/black
    96   f  fenugreek      ../fenugreek
    96   f  fenugreek      ../fenugreek
    97   f  mammals/skunk  skunk
    97   f  mammals/skunk  skunk
    98   $ hg debugwalk -I 'relglob:*k' .
    98   $ hg debugwalk -v -I 'relglob:*k' .
    99   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
    99   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:(?:|.*/)[^/]*k(?:/|$))'>>
   100   f  mammals/skunk  skunk
   100   f  mammals/skunk  skunk
   101   $ hg debugwalk -I 're:.*k$'
   101   $ hg debugwalk -v -I 're:.*k$'
   102   matcher: <includematcher includes='(?:.*k$)'>
   102   matcher: <includematcher includes='(?:.*k$)'>
   103   f  beans/black    ../beans/black
   103   f  beans/black    ../beans/black
   104   f  fenugreek      ../fenugreek
   104   f  fenugreek      ../fenugreek
   105   f  mammals/skunk  skunk
   105   f  mammals/skunk  skunk
   106   $ hg debugwalk -I 'relre:.*k$'
   106   $ hg debugwalk -v -I 'relre:.*k$'
   107   matcher: <includematcher includes='(?:.*.*k$)'>
   107   matcher: <includematcher includes='(?:.*.*k$)'>
   108   f  beans/black    ../beans/black
   108   f  beans/black    ../beans/black
   109   f  fenugreek      ../fenugreek
   109   f  fenugreek      ../fenugreek
   110   f  mammals/skunk  skunk
   110   f  mammals/skunk  skunk
   111   $ hg debugwalk -I 'path:beans'
   111   $ hg debugwalk -v -I 'path:beans'
   112   matcher: <includematcher includes='(?:beans(?:/|$))'>
   112   matcher: <includematcher includes='(?:beans(?:/|$))'>
   113   f  beans/black     ../beans/black
   113   f  beans/black     ../beans/black
   114   f  beans/borlotti  ../beans/borlotti
   114   f  beans/borlotti  ../beans/borlotti
   115   f  beans/kidney    ../beans/kidney
   115   f  beans/kidney    ../beans/kidney
   116   f  beans/navy      ../beans/navy
   116   f  beans/navy      ../beans/navy
   117   f  beans/pinto     ../beans/pinto
   117   f  beans/pinto     ../beans/pinto
   118   f  beans/turtle    ../beans/turtle
   118   f  beans/turtle    ../beans/turtle
   119   $ hg debugwalk -I 'relpath:detour/../../beans'
   119   $ hg debugwalk -v -I 'relpath:detour/../../beans'
   120   matcher: <includematcher includes='(?:beans(?:/|$))'>
   120   matcher: <includematcher includes='(?:beans(?:/|$))'>
   121   f  beans/black     ../beans/black
   121   f  beans/black     ../beans/black
   122   f  beans/borlotti  ../beans/borlotti
   122   f  beans/borlotti  ../beans/borlotti
   123   f  beans/kidney    ../beans/kidney
   123   f  beans/kidney    ../beans/kidney
   124   f  beans/navy      ../beans/navy
   124   f  beans/navy      ../beans/navy
   125   f  beans/pinto     ../beans/pinto
   125   f  beans/pinto     ../beans/pinto
   126   f  beans/turtle    ../beans/turtle
   126   f  beans/turtle    ../beans/turtle
   127 
   127 
   128   $ hg debugwalk 'rootfilesin:'
   128   $ hg debugwalk -v 'rootfilesin:'
   129   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   129   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   130   f  fennel      ../fennel
   130   f  fennel      ../fennel
   131   f  fenugreek   ../fenugreek
   131   f  fenugreek   ../fenugreek
   132   f  fiddlehead  ../fiddlehead
   132   f  fiddlehead  ../fiddlehead
   133   $ hg debugwalk -I 'rootfilesin:'
   133   $ hg debugwalk -v -I 'rootfilesin:'
   134   matcher: <includematcher includes='(?:[^/]+$)'>
   134   matcher: <includematcher includes='(?:[^/]+$)'>
   135   f  fennel      ../fennel
   135   f  fennel      ../fennel
   136   f  fenugreek   ../fenugreek
   136   f  fenugreek   ../fenugreek
   137   f  fiddlehead  ../fiddlehead
   137   f  fiddlehead  ../fiddlehead
   138   $ hg debugwalk 'rootfilesin:.'
   138   $ hg debugwalk -v 'rootfilesin:.'
   139   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   139   matcher: <patternmatcher patterns='(?:[^/]+$)'>
   140   f  fennel      ../fennel
   140   f  fennel      ../fennel
   141   f  fenugreek   ../fenugreek
   141   f  fenugreek   ../fenugreek
   142   f  fiddlehead  ../fiddlehead
   142   f  fiddlehead  ../fiddlehead
   143   $ hg debugwalk -I 'rootfilesin:.'
   143   $ hg debugwalk -v -I 'rootfilesin:.'
   144   matcher: <includematcher includes='(?:[^/]+$)'>
   144   matcher: <includematcher includes='(?:[^/]+$)'>
   145   f  fennel      ../fennel
   145   f  fennel      ../fennel
   146   f  fenugreek   ../fenugreek
   146   f  fenugreek   ../fenugreek
   147   f  fiddlehead  ../fiddlehead
   147   f  fiddlehead  ../fiddlehead
   148   $ hg debugwalk -X 'rootfilesin:'
   148   $ hg debugwalk -v -X 'rootfilesin:'
   149   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:[^/]+$)'>>
   149   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:[^/]+$)'>>
   150   f  beans/black                     ../beans/black
   150   f  beans/black                     ../beans/black
   151   f  beans/borlotti                  ../beans/borlotti
   151   f  beans/borlotti                  ../beans/borlotti
   152   f  beans/kidney                    ../beans/kidney
   152   f  beans/kidney                    ../beans/kidney
   153   f  beans/navy                      ../beans/navy
   153   f  beans/navy                      ../beans/navy
   155   f  beans/turtle                    ../beans/turtle
   155   f  beans/turtle                    ../beans/turtle
   156   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   156   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   157   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   157   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   158   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   158   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   159   f  mammals/skunk                   skunk
   159   f  mammals/skunk                   skunk
   160   $ hg debugwalk 'rootfilesin:fennel'
   160   $ hg debugwalk -v 'rootfilesin:fennel'
   161   matcher: <patternmatcher patterns='(?:fennel/[^/]+$)'>
   161   matcher: <patternmatcher patterns='(?:fennel/[^/]+$)'>
   162   $ hg debugwalk -I 'rootfilesin:fennel'
   162   $ hg debugwalk -v -I 'rootfilesin:fennel'
   163   matcher: <includematcher includes='(?:fennel/[^/]+$)'>
   163   matcher: <includematcher includes='(?:fennel/[^/]+$)'>
   164   $ hg debugwalk 'rootfilesin:skunk'
   164   $ hg debugwalk -v 'rootfilesin:skunk'
   165   matcher: <patternmatcher patterns='(?:skunk/[^/]+$)'>
   165   matcher: <patternmatcher patterns='(?:skunk/[^/]+$)'>
   166   $ hg debugwalk -I 'rootfilesin:skunk'
   166   $ hg debugwalk -v -I 'rootfilesin:skunk'
   167   matcher: <includematcher includes='(?:skunk/[^/]+$)'>
   167   matcher: <includematcher includes='(?:skunk/[^/]+$)'>
   168   $ hg debugwalk 'rootfilesin:beans'
   168   $ hg debugwalk -v 'rootfilesin:beans'
   169   matcher: <patternmatcher patterns='(?:beans/[^/]+$)'>
   169   matcher: <patternmatcher patterns='(?:beans/[^/]+$)'>
   170   f  beans/black     ../beans/black
   170   f  beans/black     ../beans/black
   171   f  beans/borlotti  ../beans/borlotti
   171   f  beans/borlotti  ../beans/borlotti
   172   f  beans/kidney    ../beans/kidney
   172   f  beans/kidney    ../beans/kidney
   173   f  beans/navy      ../beans/navy
   173   f  beans/navy      ../beans/navy
   174   f  beans/pinto     ../beans/pinto
   174   f  beans/pinto     ../beans/pinto
   175   f  beans/turtle    ../beans/turtle
   175   f  beans/turtle    ../beans/turtle
   176   $ hg debugwalk -I 'rootfilesin:beans'
   176   $ hg debugwalk -v -I 'rootfilesin:beans'
   177   matcher: <includematcher includes='(?:beans/[^/]+$)'>
   177   matcher: <includematcher includes='(?:beans/[^/]+$)'>
   178   f  beans/black     ../beans/black
   178   f  beans/black     ../beans/black
   179   f  beans/borlotti  ../beans/borlotti
   179   f  beans/borlotti  ../beans/borlotti
   180   f  beans/kidney    ../beans/kidney
   180   f  beans/kidney    ../beans/kidney
   181   f  beans/navy      ../beans/navy
   181   f  beans/navy      ../beans/navy
   182   f  beans/pinto     ../beans/pinto
   182   f  beans/pinto     ../beans/pinto
   183   f  beans/turtle    ../beans/turtle
   183   f  beans/turtle    ../beans/turtle
   184   $ hg debugwalk 'rootfilesin:mammals'
   184   $ hg debugwalk -v 'rootfilesin:mammals'
   185   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   185   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   186   f  mammals/skunk  skunk
   186   f  mammals/skunk  skunk
   187   $ hg debugwalk -I 'rootfilesin:mammals'
   187   $ hg debugwalk -v -I 'rootfilesin:mammals'
   188   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   188   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   189   f  mammals/skunk  skunk
   189   f  mammals/skunk  skunk
   190   $ hg debugwalk 'rootfilesin:mammals/'
   190   $ hg debugwalk -v 'rootfilesin:mammals/'
   191   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   191   matcher: <patternmatcher patterns='(?:mammals/[^/]+$)'>
   192   f  mammals/skunk  skunk
   192   f  mammals/skunk  skunk
   193   $ hg debugwalk -I 'rootfilesin:mammals/'
   193   $ hg debugwalk -v -I 'rootfilesin:mammals/'
   194   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   194   matcher: <includematcher includes='(?:mammals/[^/]+$)'>
   195   f  mammals/skunk  skunk
   195   f  mammals/skunk  skunk
   196   $ hg debugwalk -X 'rootfilesin:mammals'
   196   $ hg debugwalk -v -X 'rootfilesin:mammals'
   197   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:mammals/[^/]+$)'>>
   197   matcher: <differencematcher m1=<alwaysmatcher>, m2=<includematcher includes='(?:mammals/[^/]+$)'>>
   198   f  beans/black                     ../beans/black
   198   f  beans/black                     ../beans/black
   199   f  beans/borlotti                  ../beans/borlotti
   199   f  beans/borlotti                  ../beans/borlotti
   200   f  beans/kidney                    ../beans/kidney
   200   f  beans/kidney                    ../beans/kidney
   201   f  beans/navy                      ../beans/navy
   201   f  beans/navy                      ../beans/navy
   206   f  fiddlehead                      ../fiddlehead
   206   f  fiddlehead                      ../fiddlehead
   207   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   207   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   208   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   208   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   209   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   209   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   210 
   210 
   211   $ hg debugwalk .
   211   $ hg debugwalk -v .
   212   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   212   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   213   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   213   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   214   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   214   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   215   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   215   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   216   f  mammals/skunk                   skunk
   216   f  mammals/skunk                   skunk
   217   $ hg debugwalk -I.
   217   $ hg debugwalk -v -I.
   218   matcher: <includematcher includes='(?:mammals(?:/|$))'>
   218   matcher: <includematcher includes='(?:mammals(?:/|$))'>
   219   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   219   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   220   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   220   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   221   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   221   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   222   f  mammals/skunk                   skunk
   222   f  mammals/skunk                   skunk
   223   $ hg debugwalk Procyonidae
   223   $ hg debugwalk -v Procyonidae
   224   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   224   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   225   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   225   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   226   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   226   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   227   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   227   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   228 
   228 
   229   $ cd Procyonidae
   229   $ cd Procyonidae
   230   $ hg debugwalk .
   230   $ hg debugwalk -v .
   231   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   231   matcher: <patternmatcher patterns='(?:mammals\\/Procyonidae(?:/|$))'>
   232   f  mammals/Procyonidae/cacomistle  cacomistle
   232   f  mammals/Procyonidae/cacomistle  cacomistle
   233   f  mammals/Procyonidae/coatimundi  coatimundi
   233   f  mammals/Procyonidae/coatimundi  coatimundi
   234   f  mammals/Procyonidae/raccoon     raccoon
   234   f  mammals/Procyonidae/raccoon     raccoon
   235   $ hg debugwalk ..
   235   $ hg debugwalk -v ..
   236   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   236   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   237   f  mammals/Procyonidae/cacomistle  cacomistle
   237   f  mammals/Procyonidae/cacomistle  cacomistle
   238   f  mammals/Procyonidae/coatimundi  coatimundi
   238   f  mammals/Procyonidae/coatimundi  coatimundi
   239   f  mammals/Procyonidae/raccoon     raccoon
   239   f  mammals/Procyonidae/raccoon     raccoon
   240   f  mammals/skunk                   ../skunk
   240   f  mammals/skunk                   ../skunk
   241   $ cd ..
   241   $ cd ..
   242 
   242 
   243   $ hg debugwalk ../beans
   243   $ hg debugwalk -v ../beans
   244   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   244   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   245   f  beans/black     ../beans/black
   245   f  beans/black     ../beans/black
   246   f  beans/borlotti  ../beans/borlotti
   246   f  beans/borlotti  ../beans/borlotti
   247   f  beans/kidney    ../beans/kidney
   247   f  beans/kidney    ../beans/kidney
   248   f  beans/navy      ../beans/navy
   248   f  beans/navy      ../beans/navy
   249   f  beans/pinto     ../beans/pinto
   249   f  beans/pinto     ../beans/pinto
   250   f  beans/turtle    ../beans/turtle
   250   f  beans/turtle    ../beans/turtle
   251   $ hg debugwalk .
   251   $ hg debugwalk -v .
   252   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   252   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   253   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   253   f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
   254   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   254   f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
   255   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   255   f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
   256   f  mammals/skunk                   skunk
   256   f  mammals/skunk                   skunk
   257   $ hg debugwalk .hg
   257   $ hg debugwalk -v .hg
   258   abort: path 'mammals/.hg' is inside nested repo 'mammals'
   258   abort: path 'mammals/.hg' is inside nested repo 'mammals'
   259   [255]
   259   [255]
   260   $ hg debugwalk ../.hg
   260   $ hg debugwalk -v ../.hg
   261   abort: path contains illegal component: .hg
   261   abort: path contains illegal component: .hg
   262   [255]
   262   [255]
   263   $ cd ..
   263   $ cd ..
   264 
   264 
   265   $ hg debugwalk -Ibeans
   265   $ hg debugwalk -v -Ibeans
   266   matcher: <includematcher includes='(?:beans(?:/|$))'>
   266   matcher: <includematcher includes='(?:beans(?:/|$))'>
   267   f  beans/black     beans/black
   267   f  beans/black     beans/black
   268   f  beans/borlotti  beans/borlotti
   268   f  beans/borlotti  beans/borlotti
   269   f  beans/kidney    beans/kidney
   269   f  beans/kidney    beans/kidney
   270   f  beans/navy      beans/navy
   270   f  beans/navy      beans/navy
   271   f  beans/pinto     beans/pinto
   271   f  beans/pinto     beans/pinto
   272   f  beans/turtle    beans/turtle
   272   f  beans/turtle    beans/turtle
   273   $ hg debugwalk -I '{*,{b,m}*/*}k'
   273   $ hg debugwalk -v -I '{*,{b,m}*/*}k'
   274   matcher: <includematcher includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))'>
   274   matcher: <includematcher includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))'>
   275   f  beans/black    beans/black
   275   f  beans/black    beans/black
   276   f  fenugreek      fenugreek
   276   f  fenugreek      fenugreek
   277   f  mammals/skunk  mammals/skunk
   277   f  mammals/skunk  mammals/skunk
   278   $ hg debugwalk -Ibeans mammals
   278   $ hg debugwalk -v -Ibeans mammals
   279   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   279   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   280   $ hg debugwalk -Inon-existent
   280   $ hg debugwalk -v -Inon-existent
   281   matcher: <includematcher includes='(?:non\\-existent(?:/|$))'>
   281   matcher: <includematcher includes='(?:non\\-existent(?:/|$))'>
   282   $ hg debugwalk -Inon-existent -Ibeans/black
   282   $ hg debugwalk -v -Inon-existent -Ibeans/black
   283   matcher: <includematcher includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))'>
   283   matcher: <includematcher includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))'>
   284   f  beans/black  beans/black
   284   f  beans/black  beans/black
   285   $ hg debugwalk -Ibeans beans/black
   285   $ hg debugwalk -v -Ibeans beans/black
   286   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   286   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   287   f  beans/black  beans/black  exact
   287   f  beans/black  beans/black  exact
   288   $ hg debugwalk -Ibeans/black beans
   288   $ hg debugwalk -v -Ibeans/black beans
   289   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   289   matcher: <intersectionmatcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   290   f  beans/black  beans/black
   290   f  beans/black  beans/black
   291   $ hg debugwalk -Xbeans/black beans
   291   $ hg debugwalk -v -Xbeans/black beans
   292   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   292   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   293   f  beans/borlotti  beans/borlotti
   293   f  beans/borlotti  beans/borlotti
   294   f  beans/kidney    beans/kidney
   294   f  beans/kidney    beans/kidney
   295   f  beans/navy      beans/navy
   295   f  beans/navy      beans/navy
   296   f  beans/pinto     beans/pinto
   296   f  beans/pinto     beans/pinto
   297   f  beans/turtle    beans/turtle
   297   f  beans/turtle    beans/turtle
   298   $ hg debugwalk -Xbeans/black -Ibeans
   298   $ hg debugwalk -v -Xbeans/black -Ibeans
   299   matcher: <differencematcher m1=<includematcher includes='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   299   matcher: <differencematcher m1=<includematcher includes='(?:beans(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   300   f  beans/borlotti  beans/borlotti
   300   f  beans/borlotti  beans/borlotti
   301   f  beans/kidney    beans/kidney
   301   f  beans/kidney    beans/kidney
   302   f  beans/navy      beans/navy
   302   f  beans/navy      beans/navy
   303   f  beans/pinto     beans/pinto
   303   f  beans/pinto     beans/pinto
   304   f  beans/turtle    beans/turtle
   304   f  beans/turtle    beans/turtle
   305   $ hg debugwalk -Xbeans/black beans/black
   305   $ hg debugwalk -v -Xbeans/black beans/black
   306   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   306   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   307   $ hg debugwalk -Xbeans/black -Ibeans/black
   307   $ hg debugwalk -v -Xbeans/black -Ibeans/black
   308   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   308   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans\\/black(?:/|$))'>>
   309   $ hg debugwalk -Xbeans beans/black
   309   $ hg debugwalk -v -Xbeans beans/black
   310   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   310   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   311   $ hg debugwalk -Xbeans -Ibeans/black
   311   $ hg debugwalk -v -Xbeans -Ibeans/black
   312   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   312   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   313   $ hg debugwalk 'glob:mammals/../beans/b*'
   313   $ hg debugwalk -v 'glob:mammals/../beans/b*'
   314   matcher: <patternmatcher patterns='(?:beans\\/b[^/]*$)'>
   314   matcher: <patternmatcher patterns='(?:beans\\/b[^/]*$)'>
   315   f  beans/black     beans/black
   315   f  beans/black     beans/black
   316   f  beans/borlotti  beans/borlotti
   316   f  beans/borlotti  beans/borlotti
   317   $ hg debugwalk '-X*/Procyonidae' mammals
   317   $ hg debugwalk -v '-X*/Procyonidae' mammals
   318   matcher: <differencematcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:[^/]*\\/Procyonidae(?:/|$))'>>
   318   matcher: <differencematcher m1=<patternmatcher patterns='(?:mammals(?:/|$))'>, m2=<includematcher includes='(?:[^/]*\\/Procyonidae(?:/|$))'>>
   319   f  mammals/skunk  mammals/skunk
   319   f  mammals/skunk  mammals/skunk
   320   $ hg debugwalk path:mammals
   320   $ hg debugwalk -v path:mammals
   321   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   321   matcher: <patternmatcher patterns='(?:mammals(?:/|$))'>
   322   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   322   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   323   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   323   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   324   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   324   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   325   f  mammals/skunk                   mammals/skunk
   325   f  mammals/skunk                   mammals/skunk
   326   $ hg debugwalk ..
   326   $ hg debugwalk -v ..
   327   abort: .. not under root '$TESTTMP/t'
   327   abort: .. not under root '$TESTTMP/t'
   328   [255]
   328   [255]
   329   $ hg debugwalk beans/../..
   329   $ hg debugwalk -v beans/../..
   330   abort: beans/../.. not under root '$TESTTMP/t'
   330   abort: beans/../.. not under root '$TESTTMP/t'
   331   [255]
   331   [255]
   332   $ hg debugwalk .hg
   332   $ hg debugwalk -v .hg
   333   abort: path contains illegal component: .hg
   333   abort: path contains illegal component: .hg
   334   [255]
   334   [255]
   335   $ hg debugwalk beans/../.hg
   335   $ hg debugwalk -v beans/../.hg
   336   abort: path contains illegal component: .hg
   336   abort: path contains illegal component: .hg
   337   [255]
   337   [255]
   338   $ hg debugwalk beans/../.hg/data
   338   $ hg debugwalk -v beans/../.hg/data
   339   abort: path contains illegal component: .hg/data
   339   abort: path contains illegal component: .hg/data
   340   [255]
   340   [255]
   341   $ hg debugwalk beans/.hg
   341   $ hg debugwalk -v beans/.hg
   342   abort: path 'beans/.hg' is inside nested repo 'beans'
   342   abort: path 'beans/.hg' is inside nested repo 'beans'
   343   [255]
   343   [255]
   344 
   344 
   345 Test explicit paths and excludes:
   345 Test explicit paths and excludes:
   346 
   346 
   347   $ hg debugwalk fennel -X fennel
   347   $ hg debugwalk -v fennel -X fennel
   348   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:fennel(?:/|$))'>>
   348   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:fennel(?:/|$))'>>
   349   $ hg debugwalk fennel -X 'f*'
   349   $ hg debugwalk -v fennel -X 'f*'
   350   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:f[^/]*(?:/|$))'>>
   350   matcher: <differencematcher m1=<patternmatcher patterns='(?:fennel(?:/|$))'>, m2=<includematcher includes='(?:f[^/]*(?:/|$))'>>
   351   $ hg debugwalk beans/black -X 'path:beans'
   351   $ hg debugwalk -v beans/black -X 'path:beans'
   352   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   352   matcher: <differencematcher m1=<patternmatcher patterns='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   353   $ hg debugwalk -I 'path:beans/black' -X 'path:beans'
   353   $ hg debugwalk -v -I 'path:beans/black' -X 'path:beans'
   354   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   354   matcher: <differencematcher m1=<includematcher includes='(?:beans\\/black(?:/|$))'>, m2=<includematcher includes='(?:beans(?:/|$))'>>
   355 
   355 
   356 Test absolute paths:
   356 Test absolute paths:
   357 
   357 
   358   $ hg debugwalk `pwd`/beans
   358   $ hg debugwalk -v `pwd`/beans
   359   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   359   matcher: <patternmatcher patterns='(?:beans(?:/|$))'>
   360   f  beans/black     beans/black
   360   f  beans/black     beans/black
   361   f  beans/borlotti  beans/borlotti
   361   f  beans/borlotti  beans/borlotti
   362   f  beans/kidney    beans/kidney
   362   f  beans/kidney    beans/kidney
   363   f  beans/navy      beans/navy
   363   f  beans/navy      beans/navy
   364   f  beans/pinto     beans/pinto
   364   f  beans/pinto     beans/pinto
   365   f  beans/turtle    beans/turtle
   365   f  beans/turtle    beans/turtle
   366   $ hg debugwalk `pwd`/..
   366   $ hg debugwalk -v `pwd`/..
   367   abort: $TESTTMP/t/.. not under root '$TESTTMP/t'
   367   abort: $TESTTMP/t/.. not under root '$TESTTMP/t'
   368   [255]
   368   [255]
   369 
   369 
   370 Test patterns:
   370 Test patterns:
   371 
   371 
   372   $ hg debugwalk glob:\*
   372   $ hg debugwalk -v glob:\*
   373   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   373   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   374   f  fennel      fennel
   374   f  fennel      fennel
   375   f  fenugreek   fenugreek
   375   f  fenugreek   fenugreek
   376   f  fiddlehead  fiddlehead
   376   f  fiddlehead  fiddlehead
   377 #if eol-in-paths
   377 #if eol-in-paths
   378   $ echo glob:glob > glob:glob
   378   $ echo glob:glob > glob:glob
   379   $ hg addremove
   379   $ hg addremove
   380   adding glob:glob
   380   adding glob:glob
   381   warning: filename contains ':', which is reserved on Windows: 'glob:glob'
   381   warning: filename contains ':', which is reserved on Windows: 'glob:glob'
   382   $ hg debugwalk glob:\*
   382   $ hg debugwalk -v glob:\*
   383   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   383   matcher: <patternmatcher patterns='(?:[^/]*$)'>
   384   f  fennel      fennel
   384   f  fennel      fennel
   385   f  fenugreek   fenugreek
   385   f  fenugreek   fenugreek
   386   f  fiddlehead  fiddlehead
   386   f  fiddlehead  fiddlehead
   387   f  glob:glob   glob:glob
   387   f  glob:glob   glob:glob
   388   $ hg debugwalk glob:glob
   388   $ hg debugwalk -v glob:glob
   389   matcher: <patternmatcher patterns='(?:glob$)'>
   389   matcher: <patternmatcher patterns='(?:glob$)'>
   390   glob: $ENOENT$
   390   glob: $ENOENT$
   391   $ hg debugwalk glob:glob:glob
   391   $ hg debugwalk -v glob:glob:glob
   392   matcher: <patternmatcher patterns='(?:glob\\:glob$)'>
   392   matcher: <patternmatcher patterns='(?:glob\\:glob$)'>
   393   f  glob:glob  glob:glob  exact
   393   f  glob:glob  glob:glob  exact
   394   $ hg debugwalk path:glob:glob
   394   $ hg debugwalk -v path:glob:glob
   395   matcher: <patternmatcher patterns='(?:glob\\:glob(?:/|$))'>
   395   matcher: <patternmatcher patterns='(?:glob\\:glob(?:/|$))'>
   396   f  glob:glob  glob:glob  exact
   396   f  glob:glob  glob:glob  exact
   397   $ rm glob:glob
   397   $ rm glob:glob
   398   $ hg addremove
   398   $ hg addremove
   399   removing glob:glob
   399   removing glob:glob
   400 #endif
   400 #endif
   401 
   401 
   402   $ hg debugwalk 'glob:**e'
   402   $ hg debugwalk -v 'glob:**e'
   403   matcher: <patternmatcher patterns='(?:.*e$)'>
   403   matcher: <patternmatcher patterns='(?:.*e$)'>
   404   f  beans/turtle                    beans/turtle
   404   f  beans/turtle                    beans/turtle
   405   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   405   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   406 
   406 
   407   $ hg debugwalk 're:.*[kb]$'
   407   $ hg debugwalk -v 're:.*[kb]$'
   408   matcher: <patternmatcher patterns='(?:.*[kb]$)'>
   408   matcher: <patternmatcher patterns='(?:.*[kb]$)'>
   409   f  beans/black    beans/black
   409   f  beans/black    beans/black
   410   f  fenugreek      fenugreek
   410   f  fenugreek      fenugreek
   411   f  mammals/skunk  mammals/skunk
   411   f  mammals/skunk  mammals/skunk
   412 
   412 
   413   $ hg debugwalk path:beans/black
   413   $ hg debugwalk -v path:beans/black
   414   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   414   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   415   f  beans/black  beans/black  exact
   415   f  beans/black  beans/black  exact
   416   $ hg debugwalk path:beans//black
   416   $ hg debugwalk -v path:beans//black
   417   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   417   matcher: <patternmatcher patterns='(?:beans\\/black(?:/|$))'>
   418   f  beans/black  beans/black  exact
   418   f  beans/black  beans/black  exact
   419 
   419 
   420   $ hg debugwalk relglob:Procyonidae
   420   $ hg debugwalk -v relglob:Procyonidae
   421   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae$)'>
   421   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae$)'>
   422   $ hg debugwalk 'relglob:Procyonidae/**'
   422   $ hg debugwalk -v 'relglob:Procyonidae/**'
   423   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae\\/.*$)'>
   423   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae\\/.*$)'>
   424   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   424   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   425   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   425   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   426   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   426   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   427   $ hg debugwalk 'relglob:Procyonidae/**' fennel
   427   $ hg debugwalk -v 'relglob:Procyonidae/**' fennel
   428   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae\\/.*$|fennel(?:/|$))'>
   428   matcher: <patternmatcher patterns='(?:(?:|.*/)Procyonidae\\/.*$|fennel(?:/|$))'>
   429   f  fennel                          fennel                          exact
   429   f  fennel                          fennel                          exact
   430   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   430   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   431   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   431   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   432   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   432   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   433   $ hg debugwalk beans 'glob:beans/*'
   433   $ hg debugwalk -v beans 'glob:beans/*'
   434   matcher: <patternmatcher patterns='(?:beans(?:/|$)|beans\\/[^/]*$)'>
   434   matcher: <patternmatcher patterns='(?:beans(?:/|$)|beans\\/[^/]*$)'>
   435   f  beans/black     beans/black
   435   f  beans/black     beans/black
   436   f  beans/borlotti  beans/borlotti
   436   f  beans/borlotti  beans/borlotti
   437   f  beans/kidney    beans/kidney
   437   f  beans/kidney    beans/kidney
   438   f  beans/navy      beans/navy
   438   f  beans/navy      beans/navy
   439   f  beans/pinto     beans/pinto
   439   f  beans/pinto     beans/pinto
   440   f  beans/turtle    beans/turtle
   440   f  beans/turtle    beans/turtle
   441   $ hg debugwalk 'glob:mamm**'
   441   $ hg debugwalk -v 'glob:mamm**'
   442   matcher: <patternmatcher patterns='(?:mamm.*$)'>
   442   matcher: <patternmatcher patterns='(?:mamm.*$)'>
   443   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   443   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   444   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   444   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   445   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   445   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   446   f  mammals/skunk                   mammals/skunk
   446   f  mammals/skunk                   mammals/skunk
   447   $ hg debugwalk 'glob:mamm**' fennel
   447   $ hg debugwalk -v 'glob:mamm**' fennel
   448   matcher: <patternmatcher patterns='(?:mamm.*$|fennel(?:/|$))'>
   448   matcher: <patternmatcher patterns='(?:mamm.*$|fennel(?:/|$))'>
   449   f  fennel                          fennel                          exact
   449   f  fennel                          fennel                          exact
   450   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   450   f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
   451   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   451   f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
   452   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   452   f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
   453   f  mammals/skunk                   mammals/skunk
   453   f  mammals/skunk                   mammals/skunk
   454   $ hg debugwalk 'glob:j*'
   454   $ hg debugwalk -v 'glob:j*'
   455   matcher: <patternmatcher patterns='(?:j[^/]*$)'>
   455   matcher: <patternmatcher patterns='(?:j[^/]*$)'>
   456   $ hg debugwalk NOEXIST
   456   $ hg debugwalk -v NOEXIST
   457   matcher: <patternmatcher patterns='(?:NOEXIST(?:/|$))'>
   457   matcher: <patternmatcher patterns='(?:NOEXIST(?:/|$))'>
   458   NOEXIST: * (glob)
   458   NOEXIST: * (glob)
   459 
   459 
   460 #if fifo
   460 #if fifo
   461   $ mkfifo fifo
   461   $ mkfifo fifo
   462   $ hg debugwalk fifo
   462   $ hg debugwalk -v fifo
   463   matcher: <patternmatcher patterns='(?:fifo(?:/|$))'>
   463   matcher: <patternmatcher patterns='(?:fifo(?:/|$))'>
   464   fifo: unsupported file type (type is fifo)
   464   fifo: unsupported file type (type is fifo)
   465 #endif
   465 #endif
   466 
   466 
   467   $ rm fenugreek
   467   $ rm fenugreek
   468   $ hg debugwalk fenugreek
   468   $ hg debugwalk -v fenugreek
   469   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   469   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   470   f  fenugreek  fenugreek  exact
   470   f  fenugreek  fenugreek  exact
   471   $ hg rm fenugreek
   471   $ hg rm fenugreek
   472   $ hg debugwalk fenugreek
   472   $ hg debugwalk -v fenugreek
   473   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   473   matcher: <patternmatcher patterns='(?:fenugreek(?:/|$))'>
   474   f  fenugreek  fenugreek  exact
   474   f  fenugreek  fenugreek  exact
   475   $ touch new
   475   $ touch new
   476   $ hg debugwalk new
   476   $ hg debugwalk -v new
   477   matcher: <patternmatcher patterns='(?:new(?:/|$))'>
   477   matcher: <patternmatcher patterns='(?:new(?:/|$))'>
   478   f  new  new  exact
   478   f  new  new  exact
   479 
   479 
   480   $ mkdir ignored
   480   $ mkdir ignored
   481   $ touch ignored/file
   481   $ touch ignored/file
   482   $ echo '^ignored$' > .hgignore
   482   $ echo '^ignored$' > .hgignore
   483   $ hg debugwalk ignored
   483   $ hg debugwalk -v ignored
   484   matcher: <patternmatcher patterns='(?:ignored(?:/|$))'>
   484   matcher: <patternmatcher patterns='(?:ignored(?:/|$))'>
   485   $ hg debugwalk ignored/file
   485   $ hg debugwalk -v ignored/file
   486   matcher: <patternmatcher patterns='(?:ignored\\/file(?:/|$))'>
   486   matcher: <patternmatcher patterns='(?:ignored\\/file(?:/|$))'>
   487   f  ignored/file  ignored/file  exact
   487   f  ignored/file  ignored/file  exact
   488 
   488 
   489 Test listfile and listfile0
   489 Test listfile and listfile0
   490 
   490 
   491   $ $PYTHON -c "open('listfile0', 'wb').write(b'fenugreek\0new\0')"
   491   $ $PYTHON -c "open('listfile0', 'wb').write(b'fenugreek\0new\0')"
   492   $ hg debugwalk -I 'listfile0:listfile0'
   492   $ hg debugwalk -v -I 'listfile0:listfile0'
   493   matcher: <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$))'>
   493   matcher: <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$))'>
   494   f  fenugreek  fenugreek
   494   f  fenugreek  fenugreek
   495   f  new        new
   495   f  new        new
   496   $ $PYTHON -c "open('listfile', 'wb').write(b'fenugreek\nnew\r\nmammals/skunk\n')"
   496   $ $PYTHON -c "open('listfile', 'wb').write(b'fenugreek\nnew\r\nmammals/skunk\n')"
   497   $ hg debugwalk -I 'listfile:listfile'
   497   $ hg debugwalk -v -I 'listfile:listfile'
   498   matcher: <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))'>
   498   matcher: <includematcher includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))'>
   499   f  fenugreek      fenugreek
   499   f  fenugreek      fenugreek
   500   f  mammals/skunk  mammals/skunk
   500   f  mammals/skunk  mammals/skunk
   501   f  new            new
   501   f  new            new
   502 
   502 
   503   $ cd ..
   503   $ cd ..
   504   $ hg debugwalk -R t t/mammals/skunk
   504   $ hg debugwalk -v -R t t/mammals/skunk
   505   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   505   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   506   f  mammals/skunk  t/mammals/skunk  exact
   506   f  mammals/skunk  t/mammals/skunk  exact
   507   $ mkdir t2
   507   $ mkdir t2
   508   $ cd t2
   508   $ cd t2
   509   $ hg debugwalk -R ../t ../t/mammals/skunk
   509   $ hg debugwalk -v -R ../t ../t/mammals/skunk
   510   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   510   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   511   f  mammals/skunk  ../t/mammals/skunk  exact
   511   f  mammals/skunk  ../t/mammals/skunk  exact
   512   $ hg debugwalk --cwd ../t mammals/skunk
   512   $ hg debugwalk -v --cwd ../t mammals/skunk
   513   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   513   matcher: <patternmatcher patterns='(?:mammals\\/skunk(?:/|$))'>
   514   f  mammals/skunk  mammals/skunk  exact
   514   f  mammals/skunk  mammals/skunk  exact
   515 
   515 
   516   $ cd ..
   516   $ cd ..
   517 
   517 
   524   > for i in range(20000 // 100):
   524   > for i in range(20000 // 100):
   525   >   print('x' * 100)
   525   >   print('x' * 100)
   526   > EOF
   526   > EOF
   527   $ $PYTHON printnum.py >> overflow.list
   527   $ $PYTHON printnum.py >> overflow.list
   528   $ echo fenugreek >> overflow.list
   528   $ echo fenugreek >> overflow.list
   529   $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '(^matcher: |^xxx)'
   529   $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '^xxx'
   530   f  fennel     fennel     exact
   530   f  fennel     fennel     exact
   531   f  fenugreek  fenugreek  exact
   531   f  fenugreek  fenugreek  exact
   532   $ cd ..
   532   $ cd ..