##// END OF EJS Templates
pullbundle: fix handling of gzip bundlespecs...
pullbundle: fix handling of gzip bundlespecs Differential Revision: https://phab.mercurial-scm.org/D3933

File last commit:

r38675:aabc01da default
r38700:7e4a856a default
Show More
test-grep.t
493 lines | 11.4 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Nicolas Dumazet
tests: unify test-grep
r11902 $ cd t
$ echo import > port
$ hg add port
$ hg commit -m 0 -u spam -d '0 0'
$ echo export >> port
$ hg commit -m 1 -u eggs -d '1 0'
$ echo export > port
$ echo vaportight >> port
$ echo 'import/export' >> port
$ hg commit -m 2 -u spam -d '2 0'
$ echo 'import/export' >> port
$ hg commit -m 3 -u eggs -d '3 0'
$ head -n 3 port > port1
$ mv port1 port
$ hg commit -m 4 -u spam -d '4 0'
pattern error
$ hg grep '**test**'
grep: invalid match pattern: nothing to repeat
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-grep
r11902
simple
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 '.*'
Idan Kamara
grep: don't search past the end of the searched string...
r17923 port:4:export
port:4:vaportight
port:4:import/export
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 port port
Nicolas Dumazet
tests: unify test-grep
r11902 port:4:export
port:4:vaportight
port:4:import/export
simple with color
$ hg --config extensions.color= grep --config color.mode=ansi \
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 > --color=always port port -r tip:0
Idan Kamara
grep: colorize all fields...
r17806 \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mex\x1b[0;31;1mport\x1b[0m (esc)
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc)
Takumi IINO
grep: highlight all matched words...
r21011 \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32m4\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc)
Nicolas Dumazet
tests: unify test-grep
r11902
Yuya Nishihara
grep: add formatter support...
r29858 simple templated
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep port -r tip:0 \
Yuya Nishihara
grep: add formatter support...
r29858 > -T '{file}:{rev}:{node|short}:{texts % "{if(matched, text|upper, text)}"}\n'
port:4:914fa752cdea:exPORT
port:4:914fa752cdea:vaPORTight
port:4:914fa752cdea:imPORT/exPORT
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep port -r tip:0 -T '{file}:{rev}:{texts}\n'
Yuya Nishihara
formatter: make nested items somewhat readable in template output
r37518 port:4:export
port:4:vaportight
port:4:import/export
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep port -r tip:0 -T '{file}:{tags}:{texts}\n'
Yuya Nishihara
grep: add support for log-like template keywords and functions
r38558 port:tip:export
port:tip:vaportight
port:tip:import/export
Yuya Nishihara
grep: add formatter support...
r29858 simple JSON (no "change" field)
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 -Tjson port
Yuya Nishihara
grep: add formatter support...
r29858 [
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [4, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 1,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
"rev": 4,
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [4, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 2,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
"rev": 4,
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}],
"user": "spam"
},
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [4, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 3,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
"rev": 4,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}],
"user": "spam"
}
]
simple JSON without matching lines
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 -Tjson -l port
Yuya Nishihara
grep: add formatter support...
r29858 [
{
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [4, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 1,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
"rev": 4,
"user": "spam"
}
]
Nicolas Dumazet
tests: unify test-grep
r11902 all
$ hg grep --traceback --all -nu port port
port:4:4:-:spam:import/export
port:3:4:+:eggs:import/export
port:2:1:-:spam:import
port:2:2:-:spam:export
port:2:1:+:spam:export
port:2:2:+:spam:vaportight
port:2:3:+:spam:import/export
port:1:2:+:eggs:export
port:0:1:+:spam:import
Yuya Nishihara
grep: add formatter support...
r29858 all JSON
$ hg grep --all -Tjson port port
[
{
"change": "-",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [4, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 4,
"node": "914fa752cdea87777ac1a8d5c858b0c736218f6c",
"rev": 4,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [3, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 4,
"node": "95040cfd017d658c536071c6290230a613c4c2a6",
"rev": 3,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}],
"user": "eggs"
},
{
"change": "-",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [2, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 1,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
"rev": 2,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
"change": "-",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [2, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 2,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
"rev": 2,
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [2, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 1,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
"rev": 2,
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [2, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 2,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
"rev": 2,
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}],
"user": "spam"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [2, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 3,
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47",
"rev": 2,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}],
"user": "spam"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [1, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 2,
"node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587",
"rev": 1,
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}],
"user": "eggs"
},
{
"change": "+",
Yuya Nishihara
formatter: convert timestamp to int...
r37788 "date": [0, 0],
Yuya Nishihara
grep: add formatter support...
r29858 "file": "port",
"line_number": 1,
"node": "f31323c9217050ba245ee8b537c713ec2e8ab226",
"rev": 0,
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}],
"user": "spam"
}
]
Nicolas Dumazet
tests: unify test-grep
r11902 other
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 -l port port
Idan Kamara
test-grep: add a test for -l
r17805 port:4
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 import port
Nicolas Dumazet
tests: unify test-grep
r11902 port:4:import/export
$ hg cp port port2
$ hg commit -m 4 -u spam -d '5 0'
follow
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 --traceback -f 'import\n\Z' port2
Nicolas Dumazet
tests: unify test-grep
r11902 port:0:import
Matt Mackall
grep: make multiline mode the default (BC)...
r15765
Nicolas Dumazet
tests: unify test-grep
r11902 $ echo deport >> port2
$ hg commit -m 5 -u eggs -d '6 0'
$ hg grep -f --all -nu port port2
port2:6:4:+:eggs:deport
port:4:4:-:spam:import/export
port:3:4:+:eggs:import/export
port:2:1:-:spam:import
port:2:2:-:spam:export
port:2:1:+:spam:export
port:2:2:+:spam:vaportight
port:2:3:+:spam:import/export
port:1:2:+:eggs:export
port:0:1:+:spam:import
Yuya Nishihara
log: fix --follow null parent not to include revision 0...
r24064 $ hg up -q null
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r 'reverse(:.)' -f port
port:0:import
Yuya Nishihara
log: fix --follow null parent not to include revision 0...
r24064
Yuya Nishihara
workingctx: build _manifest on filenode() or flags() request...
r37465 Test wdir
(at least, this shouldn't crash)
$ hg up -q
$ echo wport >> port2
$ hg stat
M port2
$ hg grep -r 'wdir()' port
Sangeet Kumar Mishra
grep: enable passing wdir as a revision...
r38217 port2:2147483647:export
port2:2147483647:vaportight
port2:2147483647:import/export
port2:2147483647:deport
port2:2147483647:wport
Yuya Nishihara
workingctx: build _manifest on filenode() or flags() request...
r37465
Nicolas Dumazet
tests: unify test-grep
r11902 $ cd ..
$ hg init t2
$ cd t2
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 foobar foo
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 foobar
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-grep
r11902 $ echo blue >> color
$ echo black >> color
$ hg add color
$ hg ci -m 0
$ echo orange >> color
$ hg ci -m 1
$ echo black > color
$ hg ci -m 2
$ echo orange >> color
$ echo blue >> color
$ hg ci -m 3
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 orange
Nicolas Dumazet
tests: unify test-grep
r11902 color:3:orange
$ hg grep --all orange
color:3:+:orange
color:2:-:orange
color:1:+:orange
Sangeet Kumar Mishra
grep: add --diff flag...
r38440 $ hg grep --diff orange
color:3:+:orange
color:2:-:orange
color:1:+:orange
Yuya Nishihara
grep: refactor loop that yields matched text with label...
r29854 test substring match: '^' should only match at the beginning
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 '^.' --config extensions.color= --color debug
Yuya Nishihara
grep: refactor loop that yields matched text with label...
r29854 [grep.filename|color][grep.sep|:][grep.rev|3][grep.sep|:][grep.match|b]lack
[grep.filename|color][grep.sep|:][grep.rev|3][grep.sep|:][grep.match|o]range
[grep.filename|color][grep.sep|:][grep.rev|3][grep.sep|:][grep.match|b]lue
Nicolas Dumazet
tests: unify test-grep
r11902
match in last "line" without newline
Pulkit Goyal
py3: make sure we write bytes in a file open in bytes mode...
r36513 $ $PYTHON -c 'fp = open("noeol", "wb"); fp.write(b"no infinite loop"); fp.close();'
Nicolas Dumazet
tests: unify test-grep
r11902 $ hg ci -Amnoeol
adding noeol
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 loop
Mads Kiilerich
grep: correct handling of matching lines without line ending (issue3050)...
r15293 noeol:4:no infinite loop
Nicolas Dumazet
tests: unify test-grep
r11902
$ cd ..
Mads Kiilerich
spelling: fixes from spell checker
r21024 Issue685: traceback in grep -r after rename
Martin Geisler
tests: added a short description to issue numbers...
r12399
Nicolas Dumazet
tests: unify test-grep
r11902 Got a traceback when using grep on a single
revision with renamed files.
$ hg init issue685
$ cd issue685
$ echo octarine > color
$ hg ci -Amcolor
adding color
$ hg rename color colour
$ hg ci -Am rename
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep -r tip:0 octarine
Nicolas Dumazet
tests: unify test-grep
r11902 colour:1:octarine
color:0:octarine
Used to crash here
$ hg grep -r 1 octarine
colour:1:octarine
$ cd ..
Issue337: test that grep follows parent-child relationships instead
of just using revision numbers.
$ hg init issue337
$ cd issue337
$ echo white > color
$ hg commit -A -m "0 white"
adding color
$ echo red > color
$ hg commit -A -m "1 red"
$ hg update 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo black > color
$ hg commit -A -m "2 black"
created new head
$ hg update --clean 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo blue > color
$ hg commit -A -m "3 blue"
$ hg grep --all red
color:3:-:red
color:1:+:red
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920
Sangeet Kumar Mishra
grep: add --diff flag...
r38440 $ hg grep --diff red
color:3:-:red
color:1:+:red
Sangeet Kumar Mishra
grep: fixes erroneous output of grep in forward order (issue3885)...
r37151 Issue3885: test that changing revision order does not alter the
revisions printed, just their order.
$ hg grep --all red -r "all()"
color:1:+:red
color:3:-:red
$ hg grep --all red -r "reverse(all())"
color:3:-:red
color:1:+:red
Sangeet Kumar Mishra
grep: add --diff flag...
r38440 $ hg grep --diff red -r "all()"
color:1:+:red
color:3:-:red
$ hg grep --diff red -r "reverse(all())"
color:3:-:red
color:1:+:red
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920 $ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ cp "$TESTDIR/binfile.bin" .
Md. O. Shayan
grep: don't print data from binary files for matches (issue2614)
r13920 $ hg add binfile.bin
$ hg ci -m 'add binfile.bin'
$ hg grep "MaCam" --all
binfile.bin:0:+: Binary file matches
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912
Sangeet Kumar Mishra
grep: add --diff flag...
r38440 $ hg grep "MaCam" --diff
binfile.bin:0:+: Binary file matches
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Sangeet Kumar Mishra
grep: enable passing wdir as a revision...
r38217
Sangeet Kumar Mishra
grep: adds allfiles mode...
r38361 Test for showing working of allfiles flag
$ hg init sng
$ cd sng
$ echo "unmod" >> um
$ hg ci -A -m "adds unmod to um"
adding um
$ echo "something else" >> new
$ hg ci -A -m "second commit"
adding new
$ hg grep -r "." "unmod"
[1]
Yuya Nishihara
grep: rename --allfiles to --all-files...
r38670 $ hg grep -r "." "unmod" --all-files
Sangeet Kumar Mishra
grep: adds allfiles mode...
r38361 um:1:unmod
Yuya Nishihara
grep: search working directory files by default if --all-files is specified...
r38672 With --all-files, the working directory is searched by default
$ echo modified >> new
$ hg grep --all-files mod
Yuya Nishihara
grep: hide cryptic revision number by default...
r38675 new:modified
um:unmod
Yuya Nishihara
grep: search working directory files by default if --all-files is specified...
r38672
which can be overridden by -rREV
$ hg grep --all-files -r. mod
um:1:unmod
Yuya Nishihara
grep: add config knob to enable/disable the default wdir search...
r38673 commands.all-files can be negated by --no-all-files
$ hg grep --config commands.grep.all-files=True mod
Yuya Nishihara
grep: hide cryptic revision number by default...
r38675 new:modified
um:unmod
Yuya Nishihara
grep: add config knob to enable/disable the default wdir search...
r38673 $ hg grep --config commands.grep.all-files=True --no-all-files mod
um:0:unmod
Yuya Nishihara
grep: reject --diff --all-files...
r38671 --diff --all-files makes no sense since --diff is the option to grep history
$ hg grep --diff --all-files um
abort: --diff and --all-files are mutually exclusive
[255]
Yuya Nishihara
grep: add config knob to enable/disable the default wdir search...
r38673 but --diff should precede the commands.grep.all-files option
$ hg grep --config commands.grep.all-files=True --diff mod
um:0:+:unmod
Sangeet Kumar Mishra
grep: adds allfiles mode...
r38361 $ cd ..
Sangeet Kumar Mishra
grep: enable passing wdir as a revision...
r38217 Fix_Wdir(): test that passing wdir() t -r flag does greps on the
files modified in the working directory
$ cd a
$ echo "abracadara" >> a
$ hg add a
$ hg grep -r "wdir()" "abra"
a:2147483647:abracadara
$ cd ..
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650
Yuya Nishihara
grep: restore pre-9ef10437bb88 behavior, enable wdir search by tweakdefaults...
r38674 Change Default of grep by ui.tweakdefaults, that is, the files not in current
working directory should not be grepp-ed on
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg init ab
$ cd ab
Yuya Nishihara
grep: restore pre-9ef10437bb88 behavior, enable wdir search by tweakdefaults...
r38674 $ cat <<'EOF' >> .hg/hgrc
> [ui]
> tweakdefaults = True
> EOF
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ echo "some text">>file1
$ hg add file1
$ hg commit -m "adds file1"
$ hg mv file1 file2
Yuya Nishihara
grep: hide cryptic revision number by default...
r38675
wdir revision is hidden by default:
Sangeet Kumar Mishra
grep: change default behaviour to search working directory files (BC)...
r38650 $ hg grep "some"
Yuya Nishihara
grep: hide cryptic revision number by default...
r38675 file2:some text
but it should be available in template dict:
$ hg grep "some" -Tjson
[
{
"date": [0, 0],
"file": "file2",
"line_number": 1,
"node": "ffffffffffffffffffffffffffffffffffffffff",
"rev": 2147483647,
"texts": [{"matched": true, "text": "some"}, {"matched": false, "text": " text"}],
"user": "test"
}
]
$ cd ..