test-grep.t
747 lines
| 19.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-grep.t
Martin Geisler
|
r13956 | $ hg init t | ||
Nicolas Dumazet
|
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**' | ||||
Augie Fackler
|
r39079 | grep: invalid match pattern: nothing to repeat* (glob) | ||
Matt Mackall
|
r12316 | [1] | ||
Nicolas Dumazet
|
r11902 | |||
simple | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 '.*' | ||
Idan Kamara
|
r17923 | port:4:export | ||
port:4:vaportight | ||||
port:4:import/export | ||||
Sushil khanchi
|
r43598 | port:3:export | ||
port:3:vaportight | ||||
port:3:import/export | ||||
port:3:import/export | ||||
port:2:export | ||||
port:2:vaportight | ||||
port:2:import/export | ||||
port:1:import | ||||
port:1:export | ||||
port:0:import | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 port port | ||
Nicolas Dumazet
|
r11902 | port:4:export | ||
port:4:vaportight | ||||
port:4:import/export | ||||
Sushil khanchi
|
r43598 | port:3:export | ||
port:3:vaportight | ||||
port:3:import/export | ||||
port:3:import/export | ||||
port:2:export | ||||
port:2:vaportight | ||||
port:2:import/export | ||||
port:1:import | ||||
port:1:export | ||||
port:0:import | ||||
Nicolas Dumazet
|
r11902 | |||
Martin von Zweigbergk
|
r41654 | simple from subdirectory | ||
$ mkdir dir | ||||
$ cd dir | ||||
$ hg grep -r tip:0 port | ||||
port:4:export | ||||
port:4:vaportight | ||||
port:4:import/export | ||||
Sushil khanchi
|
r43598 | port:3:export | ||
port:3:vaportight | ||||
port:3:import/export | ||||
port:3:import/export | ||||
port:2:export | ||||
port:2:vaportight | ||||
port:2:import/export | ||||
port:1:import | ||||
port:1:export | ||||
port:0:import | ||||
Martin von Zweigbergk
|
r41654 | $ hg grep -r tip:0 port --config ui.relative-paths=yes | ||
../port:4:export | ||||
../port:4:vaportight | ||||
../port:4:import/export | ||||
Sushil khanchi
|
r43598 | ../port:3:export | ||
../port:3:vaportight | ||||
../port:3:import/export | ||||
../port:3:import/export | ||||
../port:2:export | ||||
../port:2:vaportight | ||||
../port:2:import/export | ||||
../port:1:import | ||||
../port:1:export | ||||
../port:0:import | ||||
Martin von Zweigbergk
|
r41654 | $ cd .. | ||
Nicolas Dumazet
|
r11902 | simple with color | ||
$ hg --config extensions.color= grep --config color.mode=ansi \ | ||||
Sangeet Kumar Mishra
|
r38650 | > --color=always port port -r tip:0 | ||
Jordi GutiƩrrez Hermoso
|
r41889 | \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m4\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;34m4\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m4\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc) | ||||
Sushil khanchi
|
r43598 | \x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m3\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;34m3\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m3\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m3\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m2\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;34m2\x1b[0m\x1b[0;36m:\x1b[0mva\x1b[0;31;1mport\x1b[0might (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m2\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m/ex\x1b[0;31;1mport\x1b[0m (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m1\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m (esc) | ||||
\x1b[0;35mport\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m1\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;34m0\x1b[0m\x1b[0;36m:\x1b[0mim\x1b[0;31;1mport\x1b[0m (esc) | ||||
Nicolas Dumazet
|
r11902 | |||
Yuya Nishihara
|
r29858 | simple templated | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep port -r tip:0 \ | ||
Yuya Nishihara
|
r39405 | > -T '{path}:{rev}:{node|short}:{texts % "{if(matched, text|upper, text)}"}\n' | ||
Yuya Nishihara
|
r29858 | port:4:914fa752cdea:exPORT | ||
port:4:914fa752cdea:vaPORTight | ||||
port:4:914fa752cdea:imPORT/exPORT | ||||
Sushil khanchi
|
r43598 | port:3:95040cfd017d:exPORT | ||
port:3:95040cfd017d:vaPORTight | ||||
port:3:95040cfd017d:imPORT/exPORT | ||||
port:3:95040cfd017d:imPORT/exPORT | ||||
port:2:3b325e3481a1:exPORT | ||||
port:2:3b325e3481a1:vaPORTight | ||||
port:2:3b325e3481a1:imPORT/exPORT | ||||
port:1:8b20f75c1585:imPORT | ||||
port:1:8b20f75c1585:exPORT | ||||
port:0:f31323c92170:imPORT | ||||
Yuya Nishihara
|
r29858 | |||
Yuya Nishihara
|
r39405 | $ hg grep port -r tip:0 -T '{path}:{rev}:{texts}\n' | ||
Yuya Nishihara
|
r37518 | port:4:export | ||
port:4:vaportight | ||||
port:4:import/export | ||||
Sushil khanchi
|
r43598 | port:3:export | ||
port:3:vaportight | ||||
port:3:import/export | ||||
port:3:import/export | ||||
port:2:export | ||||
port:2:vaportight | ||||
port:2:import/export | ||||
port:1:import | ||||
port:1:export | ||||
port:0:import | ||||
Yuya Nishihara
|
r37518 | |||
Yuya Nishihara
|
r39405 | $ hg grep port -r tip:0 -T '{path}:{tags}:{texts}\n' | ||
Yuya Nishihara
|
r38558 | port:tip:export | ||
port:tip:vaportight | ||||
port:tip:import/export | ||||
Sushil khanchi
|
r43598 | port::export | ||
port::vaportight | ||||
port::import/export | ||||
port::import/export | ||||
port::export | ||||
port::vaportight | ||||
port::import/export | ||||
port::import | ||||
port::export | ||||
port::import | ||||
Yuya Nishihara
|
r38558 | |||
Yuya Nishihara
|
r29858 | simple JSON (no "change" field) | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 -Tjson port | ||
Yuya Nishihara
|
r29858 | [ | ||
{ | ||||
Yuya Nishihara
|
r37788 | "date": [4, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r29858 | "node": "914fa752cdea87777ac1a8d5c858b0c736218f6c", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 4, | ||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
Yuya Nishihara
|
r37788 | "date": [4, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 2, | ||
Yuya Nishihara
|
r29858 | "node": "914fa752cdea87777ac1a8d5c858b0c736218f6c", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 4, | ||
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
Yuya Nishihara
|
r37788 | "date": [4, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 3, | ||
Yuya Nishihara
|
r29858 | "node": "914fa752cdea87777ac1a8d5c858b0c736218f6c", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 4, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
Sushil khanchi
|
r43598 | }, | ||
{ | ||||
"date": [3, 0], | ||||
"lineno": 1, | ||||
"node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||||
"path": "port", | ||||
"rev": 3, | ||||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [3, 0], | ||||
"lineno": 2, | ||||
"node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||||
"path": "port", | ||||
"rev": 3, | ||||
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [3, 0], | ||||
"lineno": 3, | ||||
"node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||||
"path": "port", | ||||
"rev": 3, | ||||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [3, 0], | ||||
"lineno": 4, | ||||
"node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||||
"path": "port", | ||||
"rev": 3, | ||||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [2, 0], | ||||
"lineno": 1, | ||||
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||||
"path": "port", | ||||
"rev": 2, | ||||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"date": [2, 0], | ||||
"lineno": 2, | ||||
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||||
"path": "port", | ||||
"rev": 2, | ||||
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"date": [2, 0], | ||||
"lineno": 3, | ||||
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||||
"path": "port", | ||||
"rev": 2, | ||||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"date": [1, 0], | ||||
"lineno": 1, | ||||
"node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587", | ||||
"path": "port", | ||||
"rev": 1, | ||||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [1, 0], | ||||
"lineno": 2, | ||||
"node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587", | ||||
"path": "port", | ||||
"rev": 1, | ||||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [0, 0], | ||||
"lineno": 1, | ||||
"node": "f31323c9217050ba245ee8b537c713ec2e8ab226", | ||||
"path": "port", | ||||
"rev": 0, | ||||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
Yuya Nishihara
|
r29858 | } | ||
] | ||||
simple JSON without matching lines | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 -Tjson -l port | ||
Yuya Nishihara
|
r29858 | [ | ||
{ | ||||
Yuya Nishihara
|
r37788 | "date": [4, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r29858 | "node": "914fa752cdea87777ac1a8d5c858b0c736218f6c", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 4, | ||
"user": "spam" | ||||
Sushil khanchi
|
r43598 | }, | ||
{ | ||||
"date": [3, 0], | ||||
"lineno": 1, | ||||
"node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||||
"path": "port", | ||||
"rev": 3, | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [2, 0], | ||||
"lineno": 1, | ||||
"node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||||
"path": "port", | ||||
"rev": 2, | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"date": [1, 0], | ||||
"lineno": 1, | ||||
"node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587", | ||||
"path": "port", | ||||
"rev": 1, | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"date": [0, 0], | ||||
"lineno": 1, | ||||
"node": "f31323c9217050ba245ee8b537c713ec2e8ab226", | ||||
"path": "port", | ||||
"rev": 0, | ||||
"user": "spam" | ||||
Yuya Nishihara
|
r29858 | } | ||
] | ||||
Nicolas Dumazet
|
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
|
r29858 | all JSON | ||
$ hg grep --all -Tjson port port | ||||
[ | ||||
{ | ||||
"change": "-", | ||||
Yuya Nishihara
|
r37788 | "date": [4, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 4, | ||
Yuya Nishihara
|
r29858 | "node": "914fa752cdea87777ac1a8d5c858b0c736218f6c", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 4, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [3, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 4, | ||
Yuya Nishihara
|
r29858 | "node": "95040cfd017d658c536071c6290230a613c4c2a6", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 3, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"change": "-", | ||||
Yuya Nishihara
|
r37788 | "date": [2, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r29858 | "node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 2, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "-", | ||||
Yuya Nishihara
|
r37788 | "date": [2, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 2, | ||
Yuya Nishihara
|
r29858 | "node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 2, | ||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [2, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r29858 | "node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 2, | ||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [2, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 2, | ||
Yuya Nishihara
|
r29858 | "node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 2, | ||
"texts": [{"matched": false, "text": "va"}, {"matched": true, "text": "port"}, {"matched": false, "text": "ight"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [2, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 3, | ||
Yuya Nishihara
|
r29858 | "node": "3b325e3481a1f07435d81dfdbfa434d9a0245b47", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 2, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}, {"matched": false, "text": "/ex"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [1, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 2, | ||
Yuya Nishihara
|
r29858 | "node": "8b20f75c158513ff5ac80bd0e5219bfb6f0eb587", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 1, | ||
"texts": [{"matched": false, "text": "ex"}, {"matched": true, "text": "port"}], | ||||
"user": "eggs" | ||||
}, | ||||
{ | ||||
"change": "+", | ||||
Yuya Nishihara
|
r37788 | "date": [0, 0], | ||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r29858 | "node": "f31323c9217050ba245ee8b537c713ec2e8ab226", | ||
Yuya Nishihara
|
r39405 | "path": "port", | ||
Yuya Nishihara
|
r29858 | "rev": 0, | ||
"texts": [{"matched": false, "text": "im"}, {"matched": true, "text": "port"}], | ||||
"user": "spam" | ||||
} | ||||
] | ||||
Nicolas Dumazet
|
r11902 | other | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 -l port port | ||
Idan Kamara
|
r17805 | port:4 | ||
Sushil khanchi
|
r43598 | port:3 | ||
port:2 | ||||
port:1 | ||||
port:0 | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 import port | ||
Nicolas Dumazet
|
r11902 | port:4:import/export | ||
Sushil khanchi
|
r43598 | port:3:import/export | ||
port:3:import/export | ||||
port:2:import/export | ||||
port:1:import | ||||
port:0:import | ||||
Nicolas Dumazet
|
r11902 | |||
$ hg cp port port2 | ||||
$ hg commit -m 4 -u spam -d '5 0' | ||||
follow | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 --traceback -f 'import\n\Z' port2 | ||
Sushil khanchi
|
r43598 | [1] | ||
Nicolas Dumazet
|
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
|
r24064 | $ hg up -q null | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r 'reverse(:.)' -f port | ||
port:0:import | ||||
Yuya Nishihara
|
r24064 | |||
Yuya Nishihara
|
r37465 | Test wdir | ||
(at least, this shouldn't crash) | ||||
$ hg up -q | ||||
$ echo wport >> port2 | ||||
$ hg stat | ||||
M port2 | ||||
$ hg grep -r 'wdir()' port | ||||
Sushil khanchi
|
r43598 | port:2147483647:export | ||
port:2147483647:vaportight | ||||
port:2147483647:import/export | ||||
Sangeet Kumar Mishra
|
r38217 | port2:2147483647:export | ||
port2:2147483647:vaportight | ||||
port2:2147483647:import/export | ||||
port2:2147483647:deport | ||||
port2:2147483647:wport | ||||
Yuya Nishihara
|
r37465 | |||
Nicolas Dumazet
|
r11902 | $ cd .. | ||
$ hg init t2 | ||||
$ cd t2 | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 foobar foo | ||
Matt Mackall
|
r12316 | [1] | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 foobar | ||
Matt Mackall
|
r12316 | [1] | ||
Nicolas Dumazet
|
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
|
r38650 | $ hg grep -r tip:0 orange | ||
Nicolas Dumazet
|
r11902 | color:3:orange | ||
Sushil khanchi
|
r43598 | color:1:orange | ||
Nicolas Dumazet
|
r11902 | $ hg grep --all orange | ||
color:3:+:orange | ||||
color:2:-:orange | ||||
color:1:+:orange | ||||
Jordi GutiƩrrez Hermoso
|
r41886 | $ hg grep --diff orange --color=debug | ||
[grep.filename|color][grep.sep|:][grep.rev|3][grep.sep|:][grep.inserted grep.change|+][grep.sep|:][grep.match|orange] | ||||
[grep.filename|color][grep.sep|:][grep.rev|2][grep.sep|:][grep.deleted grep.change|-][grep.sep|:][grep.match|orange] | ||||
[grep.filename|color][grep.sep|:][grep.rev|1][grep.sep|:][grep.inserted grep.change|+][grep.sep|:][grep.match|orange] | ||||
Nicolas Dumazet
|
r11902 | |||
Jordi GutiƩrrez Hermoso
|
r41887 | $ hg grep --diff orange --color=yes | ||
Jordi GutiƩrrez Hermoso
|
r41889 | \x1b[0;35mcolor\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m3\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32;1m+\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;31;1morange\x1b[0m (esc) | ||
\x1b[0;35mcolor\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m2\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;31;1m-\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;31;1morange\x1b[0m (esc) | ||||
\x1b[0;35mcolor\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;34m1\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;32;1m+\x1b[0m\x1b[0;36m:\x1b[0m\x1b[0;31;1morange\x1b[0m (esc) | ||||
Jordi GutiƩrrez Hermoso
|
r41887 | |||
Sangeet Kumar Mishra
|
r38440 | $ hg grep --diff orange | ||
color:3:+:orange | ||||
color:2:-:orange | ||||
color:1:+:orange | ||||
Yuya Nishihara
|
r29854 | test substring match: '^' should only match at the beginning | ||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 '^.' --config extensions.color= --color debug | ||
Yuya Nishihara
|
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 | ||||
Sushil khanchi
|
r43598 | [grep.filename|color][grep.sep|:][grep.rev|2][grep.sep|:][grep.match|b]lack | ||
[grep.filename|color][grep.sep|:][grep.rev|1][grep.sep|:][grep.match|b]lue | ||||
[grep.filename|color][grep.sep|:][grep.rev|1][grep.sep|:][grep.match|b]lack | ||||
[grep.filename|color][grep.sep|:][grep.rev|1][grep.sep|:][grep.match|o]range | ||||
[grep.filename|color][grep.sep|:][grep.rev|0][grep.sep|:][grep.match|b]lue | ||||
[grep.filename|color][grep.sep|:][grep.rev|0][grep.sep|:][grep.match|b]lack | ||||
Nicolas Dumazet
|
r11902 | |||
match in last "line" without newline | ||||
Matt Harbison
|
r39743 | $ "$PYTHON" -c 'fp = open("noeol", "wb"); fp.write(b"no infinite loop"); fp.close();' | ||
Nicolas Dumazet
|
r11902 | $ hg ci -Amnoeol | ||
adding noeol | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep -r tip:0 loop | ||
Mads Kiilerich
|
r15293 | noeol:4:no infinite loop | ||
Nicolas Dumazet
|
r11902 | |||
$ cd .. | ||||
Mads Kiilerich
|
r21024 | Issue685: traceback in grep -r after rename | ||
Martin Geisler
|
r12399 | |||
Nicolas Dumazet
|
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
|
r38650 | $ hg grep -r tip:0 octarine | ||
Nicolas Dumazet
|
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
|
r13920 | |||
Sangeet Kumar Mishra
|
r38440 | $ hg grep --diff red | ||
color:3:-:red | ||||
color:1:+:red | ||||
Sangeet Kumar Mishra
|
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
|
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
|
r16912 | $ cd .. | ||
Md. O. Shayan
|
r13920 | $ hg init a | ||
$ cd a | ||||
Thomas Arendsen Hein
|
r16350 | $ cp "$TESTDIR/binfile.bin" . | ||
Md. O. Shayan
|
r13920 | $ hg add binfile.bin | ||
$ hg ci -m 'add binfile.bin' | ||||
$ hg grep "MaCam" --all | ||||
binfile.bin:0:+: Binary file matches | ||||
Mads Kiilerich
|
r16912 | |||
Sangeet Kumar Mishra
|
r38440 | $ hg grep "MaCam" --diff | ||
binfile.bin:0:+: Binary file matches | ||||
Mads Kiilerich
|
r16912 | $ cd .. | ||
Sangeet Kumar Mishra
|
r38217 | |||
Sangeet Kumar Mishra
|
r38361 | Test for showing working of allfiles flag | ||
$ hg init sng | ||||
$ cd sng | ||||
$ echo "unmod" >> um | ||||
Valentin Gatien-Baron
|
r45367 | $ echo old > old | ||
$ hg ci -q -A -m "adds unmod to um" | ||||
Sangeet Kumar Mishra
|
r38361 | $ echo "something else" >> new | ||
$ hg ci -A -m "second commit" | ||||
adding new | ||||
$ hg grep -r "." "unmod" | ||||
um:1:unmod | ||||
Valentin Gatien-Baron
|
r45367 | Existing tracked files in the working directory are searched by default | ||
Yuya Nishihara
|
r38672 | |||
$ echo modified >> new | ||||
Valentin Gatien-Baron
|
r45367 | $ echo 'added' > added; hg add added | ||
$ echo 'added, missing' > added-missing; hg add added-missing; rm added-missing | ||||
$ echo 'untracked' > untracked | ||||
$ hg rm old | ||||
Valentin Gatien-Baron
|
r45368 | $ hg grep '' | ||
Valentin Gatien-Baron
|
r45367 | added:added | ||
new:something else | ||||
Yuya Nishihara
|
r38675 | new:modified | ||
um:unmod | ||||
Yuya Nishihara
|
r38672 | |||
Valentin Gatien-Baron
|
r45390 | #if symlink | ||
Grepping a symlink greps its destination | ||||
$ rm -f added; ln -s symlink-added added | ||||
$ hg grep '' | grep added | ||||
added:symlink-added | ||||
Valentin Gatien-Baron
|
r45391 | |||
But we reject symlinks as directories components of a tracked file as | ||||
usual: | ||||
$ mkdir dir; touch dir/f; hg add dir/f | ||||
$ rm -rf dir; ln -s / dir | ||||
$ hg grep '' | ||||
abort: path 'dir/f' traverses symbolic link 'dir' | ||||
[255] | ||||
Valentin Gatien-Baron
|
r45390 | #endif | ||
But we can search files from some other revision with -rREV | ||||
Yuya Nishihara
|
r38672 | |||
Sushil khanchi
|
r43598 | $ hg grep -r. mod | ||
Yuya Nishihara
|
r38672 | um:1:unmod | ||
Sushil khanchi
|
r43598 | $ hg grep --diff mod | ||
Yuya Nishihara
|
r38673 | um:0:+:unmod | ||
Sangeet Kumar Mishra
|
r38361 | $ cd .. | ||
Yuya Nishihara
|
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
|
r38650 | $ hg init ab | ||
$ cd ab | ||||
Yuya Nishihara
|
r38674 | $ cat <<'EOF' >> .hg/hgrc | ||
> [ui] | ||||
> tweakdefaults = True | ||||
> EOF | ||||
Sangeet Kumar Mishra
|
r38650 | $ echo "some text">>file1 | ||
$ hg add file1 | ||||
$ hg commit -m "adds file1" | ||||
$ hg mv file1 file2 | ||||
Yuya Nishihara
|
r38675 | |||
wdir revision is hidden by default: | ||||
Sangeet Kumar Mishra
|
r38650 | $ hg grep "some" | ||
Yuya Nishihara
|
r38675 | file2:some text | ||
but it should be available in template dict: | ||||
$ hg grep "some" -Tjson | ||||
[ | ||||
{ | ||||
"date": [0, 0], | ||||
Yuya Nishihara
|
r39966 | "lineno": 1, | ||
Yuya Nishihara
|
r38675 | "node": "ffffffffffffffffffffffffffffffffffffffff", | ||
Yuya Nishihara
|
r39405 | "path": "file2", | ||
Yuya Nishihara
|
r38675 | "rev": 2147483647, | ||
"texts": [{"matched": true, "text": "some"}, {"matched": false, "text": " text"}], | ||||
"user": "test" | ||||
} | ||||
] | ||||
$ cd .. | ||||
Sangeet Kumar Mishra
|
r38981 | |||
Sushil khanchi
|
r43598 | test -rMULTIREV | ||
Sangeet Kumar Mishra
|
r38981 | |||
$ cd sng | ||||
$ hg rm um | ||||
$ hg commit -m "deletes um" | ||||
Sushil khanchi
|
r43598 | $ hg grep -r "0:2" "unmod" | ||
Sangeet Kumar Mishra
|
r38981 | um:0:unmod | ||
um:1:unmod | ||||
Sushil khanchi
|
r43598 | $ hg grep -r "0:2" "unmod" um | ||
Sangeet Kumar Mishra
|
r38996 | um:0:unmod | ||
um:1:unmod | ||||
Sushil khanchi
|
r43598 | $ hg grep -r "0:2" "unmod" "glob:**/um" # Check that patterns also work | ||
Jordi GutiƩrrez Hermoso
|
r41832 | um:0:unmod | ||
um:1:unmod | ||||
Sangeet Kumar Mishra
|
r38981 | $ cd .. | ||
Sangeet Kumar Mishra
|
r38996 | |||