##// END OF EJS Templates
match: handle excludes using new differencematcher...
match: handle excludes using new differencematcher As I've said on earlier patches, I'm hoping to use more composition of simpler matchers instead of the single complex matcher we currently have. This extracts a first new matcher that composes two other matchers. It matches if the first matcher matches but the second does not. As such, we can use it for excludes, which this patch also does. We'll remove the now-unncessary code for excludes in the next patch.

File last commit:

r32465:a83a7d27 default
r32465:a83a7d27 default
Show More
test-walk.t
518 lines | 24.0 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
$ hg debugwalk
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes=None, excludes=None>
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
$ hg debugwalk -I.
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:)', excludes=None>
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
$ hg debugwalk
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes=None, excludes=None>
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
$ hg debugwalk -X ../beans
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>>
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
$ hg debugwalk -I '*k'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
$ hg debugwalk -I 'glob:*k'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:mammals\\/[^/]*k(?:/|$))', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:(?:|.*/)[^/]*k(?:/|$))', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relglob:*k' .
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes='(?:(?:|.*/)[^/]*k(?:/|$))', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk skunk
$ hg debugwalk -I 're:.*k$'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:.*k$)', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'relre:.*k$'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:.*.*k$)', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black ../beans/black
f fenugreek ../fenugreek
f mammals/skunk skunk
$ hg debugwalk -I 'path:beans'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^beans(?:/|$))', excludes=None>
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
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'relpath:detour/../../beans'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>
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
$ hg debugwalk 'rootfilesin:'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -I 'rootfilesin:'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk 'rootfilesin:.'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -I 'rootfilesin:.'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f fennel ../fennel
f fenugreek ../fenugreek
f fiddlehead ../fiddlehead
$ hg debugwalk -X 'rootfilesin:'
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:^[^/]+$)', excludes=None>>
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
$ hg debugwalk 'rootfilesin:fennel'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^fennel/[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 $ hg debugwalk -I 'rootfilesin:fennel'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^fennel/[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 $ hg debugwalk 'rootfilesin:skunk'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^skunk/[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 $ hg debugwalk -I 'rootfilesin:skunk'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^skunk/[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 $ hg debugwalk 'rootfilesin:beans'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^beans/[^/]+$)', includes=None, excludes=None>
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
$ hg debugwalk -I 'rootfilesin:beans'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^beans/[^/]+$)', excludes=None>
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
$ hg debugwalk 'rootfilesin:mammals'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
$ hg debugwalk -I 'rootfilesin:mammals'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
$ hg debugwalk 'rootfilesin:mammals/'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns='(?:^mammals/[^/]+$)', includes=None, excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
$ hg debugwalk -I 'rootfilesin:mammals/'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)', excludes=None>
Rodrigo Damazio Bovendorp
match: adding support for matching files inside a directory...
r31012 f mammals/skunk skunk
$ hg debugwalk -X 'rootfilesin:mammals'
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:^mammals/[^/]+$)', excludes=None>>
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
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk .
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk -I.
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:mammals(?:/|$))', excludes=None>
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
$ hg debugwalk Procyonidae
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals/Procyonidae'], patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk .
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals/Procyonidae'], patterns='(?:mammals\\/Procyonidae(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/Procyonidae/cacomistle cacomistle
f mammals/Procyonidae/coatimundi coatimundi
f mammals/Procyonidae/raccoon raccoon
$ hg debugwalk ..
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=None>
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 ..
$ hg debugwalk ../beans
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk .
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk .hg
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path 'mammals/.hg' is inside nested repo 'mammals' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk ../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ cd ..
$ hg debugwalk -Ibeans
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>
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
$ hg debugwalk -I '{*,{b,m}*/*}k'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:(?:[^/]*|(?:b|m)[^/]*\\/[^/]*)k(?:/|$))', excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black
f fenugreek fenugreek
f mammals/skunk mammals/skunk
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 $ hg debugwalk -Ibeans mammals
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes='(?:beans(?:/|$))', excludes=None>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 $ hg debugwalk -Inon-existent
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$))', excludes=None>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 $ hg debugwalk -Inon-existent -Ibeans/black
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:non\\-existent(?:/|$)|beans\\/black(?:/|$))', excludes=None>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black
$ hg debugwalk -Ibeans beans/black
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes='(?:beans(?:/|$))', excludes=None>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black exact
$ hg debugwalk -Ibeans/black beans
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes='(?:beans\\/black(?:/|$))', excludes=None>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black
$ hg debugwalk -Xbeans/black beans
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>>
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
$ hg debugwalk -Xbeans/black -Ibeans
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>>
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
$ hg debugwalk -Xbeans/black beans/black
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black exact
$ hg debugwalk -Xbeans/black -Ibeans/black
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 $ hg debugwalk -Xbeans beans/black
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=['beans/black'], patterns='(?:beans\\/black(?:/|$))', includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>>
Martin von Zweigbergk
test-walk: add more tests for -I/-X...
r25217 f beans/black beans/black exact
$ hg debugwalk -Xbeans -Ibeans/black
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=[], patterns=None, includes='(?:beans\\/black(?:/|$))', excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:beans(?:/|$))', excludes=None>>
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 'glob:mammals/../beans/b*'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans'], patterns='(?:beans\\/b[^/]*$)', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black
f beans/borlotti beans/borlotti
$ hg debugwalk '-X*/Procyonidae' mammals
Martin von Zweigbergk
match: handle excludes using new differencematcher...
r32465 matcher: <differencematcher m1=<matcher files=['mammals'], patterns='(?:mammals(?:/|$))', includes=None, excludes=None>, m2=<matcher files=[], patterns=None, includes='(?:[^/]*\\/Procyonidae(?:/|$))', excludes=None>>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk mammals/skunk
$ hg debugwalk path:mammals
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals'], patterns='(?:^mammals(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk ..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: .. not under root '$TESTTMP/t' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: beans/../.. not under root '$TESTTMP/t' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk .hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../.hg
Simon Heimberg
tests: remove glob from output lines containing no glob character
r18682 abort: path contains illegal component: .hg
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/../.hg/data
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path contains illegal component: .hg/data (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk beans/.hg
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 abort: path 'beans/.hg' is inside nested repo 'beans' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-walk
r11799
Matt Mackall
test-walk: enable absolute path tests
r11903 Test absolute paths:
$ hg debugwalk `pwd`/beans
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans'], patterns='(?:beans(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk `pwd`/..
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 abort: $TESTTMP/t/.. not under root '$TESTTMP/t' (glob)
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
$ hg debugwalk glob:\*
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None, excludes=None>
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'
$ hg debugwalk glob:\*
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:[^/]*$)', includes=None, excludes=None>
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
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 $ hg debugwalk glob:glob
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['glob'], patterns='(?:glob$)', includes=None, excludes=None>
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 glob: No such file or directory
$ hg debugwalk glob:glob:glob
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['glob:glob'], patterns='(?:glob\\:glob$)', includes=None, excludes=None>
Mads Kiilerich
tests: better testing of 'glob:glob' in test-walk.t
r16984 f glob:glob glob:glob exact
$ hg debugwalk path:glob:glob
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['glob:glob'], patterns='(?:^glob\\:glob(?:/|$))', includes=None, excludes=None>
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
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 'glob:**e'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:.*e$)', includes=None, excludes=None>
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
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 're:.*[kb]$'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:.*[kb]$)', includes=None, excludes=None>
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
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk path:beans/black
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans/black'], patterns='(?:^beans\\/black(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black exact
$ hg debugwalk path:beans//black
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans/black'], patterns='(?:^beans\\/black(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f beans/black beans/black exact
Matt Mackall
test-walk: enable absolute path tests
r11903
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk relglob:Procyonidae
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae$)', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk 'relglob:Procyonidae/**'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:(?:|.*/)Procyonidae\\/.*$)', includes=None, excludes=None>
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
$ hg debugwalk 'relglob:Procyonidae/**' fennel
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.', 'fennel'], patterns='(?:(?:|.*/)Procyonidae\\/.*$|fennel(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk beans 'glob:beans/*'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['beans', 'beans'], patterns='(?:beans(?:/|$)|beans\\/[^/]*$)', includes=None, excludes=None>
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
$ hg debugwalk 'glob:mamm**'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:mamm.*$)', includes=None, excludes=None>
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
$ hg debugwalk 'glob:mamm**' fennel
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.', 'fennel'], patterns='(?:mamm.*$|fennel(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk 'glob:j*'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['.'], patterns='(?:j[^/]*$)', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk NOEXIST
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['NOEXIST'], patterns='(?:NOEXIST(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk fifo
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['fifo'], patterns='(?:fifo(?:/|$))', includes=None, excludes=None>
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
$ hg debugwalk fenugreek
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f fenugreek fenugreek exact
$ hg rm fenugreek
$ hg debugwalk fenugreek
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['fenugreek'], patterns='(?:fenugreek(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f fenugreek fenugreek exact
$ touch new
$ hg debugwalk new
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['new'], patterns='(?:new(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f new new exact
$ mkdir ignored
$ touch ignored/file
$ echo '^ignored$' > .hgignore
$ hg debugwalk ignored
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['ignored'], patterns='(?:ignored(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 $ hg debugwalk ignored/file
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['ignored/file'], patterns='(?:ignored\\/file(?:/|$))', includes=None, excludes=None>
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
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('listfile0', 'wb').write('fenugreek\0new\0')"
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'listfile0:listfile0'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$))', excludes=None>
Patrick Mezard
match: make 'listfile:' split on LF and CRLF...
r14248 f fenugreek fenugreek
f new new
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "file('listfile', 'wb').write('fenugreek\nnew\r\nmammals/skunk\n')"
Mads Kiilerich
tests: run test-walk.t on windows...
r16985 $ hg debugwalk -I 'listfile:listfile'
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=[], patterns=None, includes='(?:fenugreek(?:/|$)|new(?:/|$)|mammals\\/skunk(?:/|$))', excludes=None>
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 ..
$ hg debugwalk -R t t/mammals/skunk
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk t/mammals/skunk exact
$ mkdir t2
$ cd t2
$ hg debugwalk -R ../t ../t/mammals/skunk
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None, excludes=None>
Nicolas Dumazet
tests: unify test-walk
r11799 f mammals/skunk ../t/mammals/skunk exact
$ hg debugwalk --cwd ../t mammals/skunk
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 matcher: <matcher files=['mammals/skunk'], patterns='(?:mammals\\/skunk(?:/|$))', includes=None, excludes=None>
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
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ $PYTHON -c "for i in xrange(20000 / 100): print 'x' * 100" >> overflow.list
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191 $ echo fenugreek >> overflow.list
Martin von Zweigbergk
debugwalk: also print matcher representation...
r32453 $ hg debugwalk 'listfile:overflow.list' 2>&1 | egrep -v '(^matcher: |^xxx)'
Yuya Nishihara
match: fix NameError 'pat' on overflow of regex pattern length...
r21191 f fennel fennel exact
f fenugreek fenugreek exact
$ cd ..