##// END OF EJS Templates
match: sort patterns before compiling them into a regex...
match: sort patterns before compiling them into a regex While investigating cripping performance for `hg cat` in some context, I discovered that, for large inputs, building a regex from out of order patterns result may result in a *much* slower regex and a much slower associated matcher's performance. So we are now sorting the patterns to help the regex engine. There is more to the story as we rely on regexp more than we should. See the next changeset for details. Benchmarks ========== In the following benchmark we are comparing the `hg cat` and `hg files` run time when matching against the full list of files in the repository. They are run: - without the rust extensions - with the standard python enfine (so without re2) sort vs non-sorted - Before this changeset (3f5137543773) --------------------------------------------------------- ###### hg files ############################################################### ### mercurial-2018-08-01-zstd-sparse-revlog sorted: 0.230092 seconds shuffled: 0.234235 seconds (+1.80%) ### pypy-2018-08-01-zstd-sparse-revlog sorted: 0.613567 seconds shuffled: 0.801880 seconds (+30.69%) ### mozilla-central-2018-08-01-zstd-sparse-revlog sorted: 62.474221 seconds shuffled: 1364.180218 seconds (+2083.59%) ### netbeans-2018-08-01-zstd-sparse-revlog sorted: 21.541828 seconds shuffled: 172.759857 seconds (+701.97%) ###### hg cat ################################################################# ### mercurial-2018-08-01-zstd-sparse-revlog sorted: 0.764407 seconds shuffled: 0.768924 seconds ### pypy-2018-08-01-zstd-sparse-revlog sorted: 2.065220 seconds shuffled: 2.276388 seconds (+10.22%) ### netbeans-2018-08-01-zstd-sparse-revlog sorted: 40.967983 seconds shuffled: 216.388709 seconds (+428.19%) ### mozilla-central-2018-08-01-zstd-sparse-revlog sorted: 105.228510 seconds shuffled: 1448.722784 seconds (+1276.74%) sort vs non-sorted - With this changeset ---------------------------------------- ###### hg files ############################################################### ### mercurial-2018-08-01-zstd-sparse-revlog all-list-pattern-sorted: 0.230069 all-list-pattern-shuffled: 0.231165 ### pypy-2018-08-01-zstd-sparse-revlog all-list-pattern-sorted: 0.616799 all-list-pattern-shuffled: 0.616393 ### netbeans-2018-08-01-zstd-sparse-revlog all-list-pattern-sorted: 21.586773 all-list-pattern-shuffled: 21.908197 ### mozilla-central-2018-08-01-zstd-sparse-revlog all-list-pattern-sorted: 61.279490 all-list-pattern-shuffled: 62.473549 ###### hg cat ################################################################# ### mercurial-2018-08-01-zstd-sparse-revlog sorted: 0.763883 seconds shuffled: 0.765848 seconds ### pypy-2018-08-01-zstd-sparse-revlog sorted: 2.070498 seconds shuffled: 2.069197 seconds ### netbeans-2018-08-01-zstd-sparse-revlog sorted: 41.392423 seconds shuffled: 41.648689 seconds ### mozilla-central-2018-08-01-zstd-sparse-revlog sorted: 103.315670 seconds shuffled: 104.369358 seconds

File last commit:

r51285:47686726 stable
r51285:47686726 stable
Show More
test-walk.t
651 lines | 21.9 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd t
$ mkdir -p beans
$ for b in kidney navy turtle borlotti black pinto; do
> echo $b > beans/$b
Mads Kiilerich
check-code: check that '>' is used for continued lines...
r19873 > done
Nicolas Dumazet
tests: unify test-walk
r11799 $ mkdir -p mammals/Procyonidae
$ for m in cacomistle coatimundi raccoon; do
> echo $m > mammals/Procyonidae/$m
Mads Kiilerich
check-code: check that '>' is used for continued lines...
r19873 > done
Nicolas Dumazet
tests: unify test-walk
r11799 $ echo skunk > mammals/skunk
$ echo fennel > fennel
$ echo fenugreek > fenugreek
$ echo fiddlehead > fiddlehead
$ hg addremove
adding beans/black
adding beans/borlotti
adding beans/kidney
adding beans/navy
adding beans/pinto
adding beans/turtle
adding fennel
adding fenugreek
adding fiddlehead
adding mammals/Procyonidae/cacomistle
adding mammals/Procyonidae/coatimundi
adding mammals/Procyonidae/raccoon
adding mammals/skunk
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit #0"
Nicolas Dumazet
tests: unify test-walk
r11799
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
<alwaysmatcher>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black 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
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I.
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes=''>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black 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
f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
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
$ cd mammals
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
<alwaysmatcher>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../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
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -X ../beans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
m1=<alwaysmatcher>,
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m2=<includematcher includes='beans(?:/|$)'>>
Nicolas Dumazet
tests: unify test-walk
r11799 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I '*k'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='mammals/[^/]*k(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'glob:*k'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='mammals/[^/]*k(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'relglob:*k'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Valentin Gatien-Baron
match: simplify the regexps created for glob patterns...
r43132 <includematcher includes='.*k(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'relglob:*k' .
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <intersectionmatcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='mammals(?:/|$)'>,
Valentin Gatien-Baron
match: simplify the regexps created for glob patterns...
r43132 m2=<includematcher includes='.*k(?:/|$)'>>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 're:.*k$'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='.*k$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'relre:.*k$'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='.*.*k$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'path:beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='beans(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'relpath:detour/../../beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='beans(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../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
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['.']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['.']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:.'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['.']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:.'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['.']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -X 'rootfilesin:'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
m1=<alwaysmatcher>,
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 m2=<includematcher includes="rootfilesin: ['.']">>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f beans/black ../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
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:fennel'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['fennel']">
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:fennel'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['fennel']">
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:skunk'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['skunk']">
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:skunk'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['skunk']">
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['beans']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f beans/black ../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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['beans']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f beans/black ../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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:mammals'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['mammals']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:mammals'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['mammals']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'rootfilesin:mammals/'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <patternmatcher patterns="rootfilesin: ['mammals']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'rootfilesin:mammals/'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 <includematcher includes="rootfilesin: ['mammals']">
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -X 'rootfilesin:mammals'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
m1=<alwaysmatcher>,
Martin von Zweigbergk
match: optimize matcher when all patterns are of rootfilesin kind...
r40278 m2=<includematcher includes="rootfilesin: ['mammals']">>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f beans/black ../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
f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v .
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I.
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='mammals(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v Procyonidae
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals/Procyonidae(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
$ cd Procyonidae
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v .
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals/Procyonidae(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ..
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
f mammals/skunk ../skunk
$ cd ..
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ../beans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='beans(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v .
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi Procyonidae/coatimundi
f mammals/Procyonidae/raccoon Procyonidae/raccoon
f mammals/skunk skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v .hg
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: path 'mammals/.hg' is inside nested repo 'mammals'
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd ..
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Ibeans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='beans(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I '{*,{b,m}*/*}k'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='(?:[^/]*|(?:b|m)[^/]*/[^/]*)k(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Ibeans mammals
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <intersectionmatcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='mammals(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Inon-existent
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='non\\-existent(?:/|$)'>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Inon-existent -Ibeans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='non\\-existent(?:/|$)|beans/black(?:/|$)'>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Ibeans beans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <intersectionmatcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans/black(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black exact
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Ibeans/black beans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <intersectionmatcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans(?:/|$)'>,
m2=<includematcher includes='beans/black(?:/|$)'>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans/black beans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans(?:/|$)'>,
m2=<includematcher includes='beans/black(?:/|$)'>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans/black -Ibeans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<includematcher includes='beans(?:/|$)'>,
m2=<includematcher includes='beans/black(?:/|$)'>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans/black beans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans/black(?:/|$)'>,
m2=<includematcher includes='beans/black(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans/black -Ibeans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<includematcher includes='beans/black(?:/|$)'>,
m2=<includematcher includes='beans/black(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans beans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans/black(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -Xbeans -Ibeans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<includematcher includes='beans/black(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'glob:mammals/../beans/b*'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='beans/b[^/]*$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black
f beans/borlotti beans/borlotti
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v '-X*/Procyonidae' mammals
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='mammals(?:/|$)'>,
m2=<includematcher includes='[^/]*/Procyonidae(?:/|$)'>>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk mammals/skunk
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v path:mammals
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ..
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: .. not under root '$TESTTMP/t'
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans/../..
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: beans/../.. not under root '$TESTTMP/t'
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v .hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans/../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans/../.hg/data
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: path contains illegal component: .hg/data
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans/.hg
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: path 'beans/.hg' is inside nested repo 'beans'
Martin von Zweigbergk
errors: use detailed exit code in pathauditor...
r49192 [10]
Nicolas Dumazet
tests: unify test-walk
r11799
Yuya Nishihara
match: do not weirdly include explicit files excluded by -X option...
r35677 Test explicit paths and excludes:
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v fennel -X fennel
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='fennel(?:/|$)'>,
m2=<includematcher includes='fennel(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v fennel -X 'f*'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='fennel(?:/|$)'>,
m2=<includematcher includes='f[^/]*(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans/black -X 'path:beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<patternmatcher patterns='beans/black(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'path:beans/black' -X 'path:beans'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Yuya Nishihara
stringutil: fix prettyrepr() to not orphan foo=<...> line
r38283 <differencematcher
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 m1=<includematcher includes='beans/black(?:/|$)'>,
m2=<includematcher includes='beans(?:/|$)'>>
Yuya Nishihara
match: do not weirdly include explicit files excluded by -X option...
r35677
Matt Mackall
test-walk: enable absolute path tests
r11903 Test absolute paths:
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v `pwd`/beans
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='beans(?:/|$)'>
Matt Mackall
test-walk: enable absolute path tests
r11903 f beans/black 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v `pwd`/..
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 abort: $TESTTMP/t/.. not under root '$TESTTMP/t'
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Matt Mackall
test-walk: enable absolute path tests
r11903
Test patterns:
Nicolas Dumazet
tests: unify test-walk
r11799
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v glob:\*
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='[^/]*$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
Mads Kiilerich
tests: move tests in test-walk.t using ':' in filenames to conditional section...
r16983 #if eol-in-paths
$ echo glob:glob > glob:glob
$ hg addremove
adding glob:glob
warning: filename contains ':', which is reserved on Windows: 'glob:glob'
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v glob:\*
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='[^/]*$'>
Mads Kiilerich
tests: move tests in test-walk.t using ':' in filenames to conditional section...
r16983 f fennel fennel
f fenugreek fenugreek
f fiddlehead fiddlehead
Nicolas Dumazet
tests: unify test-walk
r11799 f glob:glob glob:glob
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v glob:glob
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='glob$'>
Matt Harbison
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages...
r35230 glob: $ENOENT$
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v glob:glob:glob
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='glob:glob$'>
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 f glob:glob glob:glob exact
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v path:glob:glob
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='glob:glob(?:/|$)'>
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 f glob:glob glob:glob exact
Mads Kiilerich
tests: move tests in test-walk.t using ':' in filenames to conditional section...
r16983 $ rm glob:glob
$ hg addremove
removing glob:glob
#endif
Matt Mackall
test-walk: enable absolute path tests
r11903
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'glob:**e'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='.*e$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/turtle beans/turtle
f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
Matt Mackall
test-walk: enable absolute path tests
r11903
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 're:.*[kb]$'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='.*[kb]$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
Matt Mackall
test-walk: enable absolute path tests
r11903
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v path:beans/black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='beans/black(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black exact
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v path:beans//black
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='beans/black(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black exact
Matt Mackall
test-walk: enable absolute path tests
r11903
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v relglob:Procyonidae
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='(?:|.*/)Procyonidae$'>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'relglob:Procyonidae/**'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='(?:|.*/)Procyonidae/.*$'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle mammals/Procyonidae/cacomistle
f mammals/Procyonidae/coatimundi mammals/Procyonidae/coatimundi
f mammals/Procyonidae/raccoon mammals/Procyonidae/raccoon
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'relglob:Procyonidae/**' fennel
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='(?:|.*/)Procyonidae/.*$|fennel(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v beans 'glob:beans/*'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
match: sort patterns before compiling them into a regex...
r51285 <patternmatcher patterns='beans/[^/]*$|beans(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'glob:mamm**'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mamm.*$'>
Nicolas Dumazet
tests: unify test-walk
r11799 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'glob:mamm**' fennel
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mamm.*$|fennel(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 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
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v 'glob:j*'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='j[^/]*$'>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v NOEXIST
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='NOEXIST(?:/|$)'>
Mads Kiilerich
tests: hide 'No such file or directory' messages...
r15521 NOEXIST: * (glob)
Nicolas Dumazet
tests: unify test-walk
r11799
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #if fifo
Nicolas Dumazet
tests: unify test-walk
r11799 $ mkfifo fifo
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v fifo
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='fifo(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 fifo: unsupported file type (type is fifo)
Mads Kiilerich
tests: add some missing #if's / hghave requirements...
r16972 #endif
Nicolas Dumazet
tests: unify test-walk
r11799
$ rm fenugreek
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v fenugreek
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='fenugreek(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f fenugreek fenugreek exact
$ hg rm fenugreek
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v fenugreek
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='fenugreek(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f fenugreek fenugreek exact
$ touch new
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v new
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='new(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f new new exact
$ mkdir ignored
$ touch ignored/file
$ echo '^ignored$' > .hgignore
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ignored
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='ignored(?:/|$)'>
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v ignored/file
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='ignored/file(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f ignored/file ignored/file exact
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 Test listfile and listfile0
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c "open('listfile0', 'wb').write(b'fenugreek\0new\0')"
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'listfile0:listfile0'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='fenugreek(?:/|$)|new(?:/|$)'>
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 f fenugreek fenugreek
f new new
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -c "open('listfile', 'wb').write(b'fenugreek\nnew\r\nmammals/skunk\n')"
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -I 'listfile:listfile'
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <includematcher includes='fenugreek(?:/|$)|new(?:/|$)|mammals/skunk(?:/|$)'>
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 f fenugreek fenugreek
f mammals/skunk mammals/skunk
f new new
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd ..
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -R t t/mammals/skunk
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals/skunk(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk t/mammals/skunk exact
$ mkdir t2
$ cd t2
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v -R ../t ../t/mammals/skunk
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals/skunk(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk ../t/mammals/skunk exact
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk -v --cwd ../t mammals/skunk
Yuya Nishihara
debugwalk: pretty-print nested matcher...
r38282 * matcher:
Martin von Zweigbergk
match: drop unnecessary wrapping of regex in group...
r40818 <patternmatcher patterns='mammals/skunk(?:/|$)'>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk mammals/skunk exact
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191
Test split patterns on overflow
$ cd t
$ echo fennel > overflow.list
Pulkit Goyal
py3: use print as a function in tests/test-walk.t...
r37333 $ cat >> printnum.py <<EOF
> for i in range(20000 // 100):
> print('x' * 100)
> EOF
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" printnum.py >> overflow.list
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191 $ echo fenugreek >> overflow.list
Yuya Nishihara
debugwalk: show matcher output only if -v/--verbose...
r38281 $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '^xxx'
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191 f fennel fennel exact
f fenugreek fenugreek exact
$ cd ..