--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-grep.t Mon Aug 16 02:03:29 2010 +0900
@@ -0,0 +1,164 @@
+ $ mkdir t
+ $ cd t
+ $ hg init
+ $ 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
+
+simple
+
+ $ hg grep port port
+ port:4:export
+ port:4:vaportight
+ port:4:import/export
+
+simple with color
+
+ $ hg --config extensions.color= grep --config color.mode=ansi \
+ > --color=always port port
+ port:4:ex[0;31;1mport[0m
+ port:4:va[0;31;1mport[0might
+ port:4:im[0;31;1mport[0m/export
+
+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
+
+other
+
+ $ hg grep import port
+ port:4:import/export
+
+ $ hg cp port port2
+ $ hg commit -m 4 -u spam -d '5 0'
+
+follow
+
+ $ hg grep --traceback -f 'import$' port2
+ port:0:import
+ $ 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
+
+ $ cd ..
+ $ hg init t2
+ $ cd t2
+ $ hg grep foobar foo
+ $ hg grep foobar
+ $ 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
+ $ hg grep orange
+ color:3:orange
+ $ hg grep --all orange
+ color:3:+:orange
+ color:2:-:orange
+ color:1:+:orange
+
+
+match in last "line" without newline
+
+ $ python -c 'fp = open("noeol", "wb"); fp.write("no infinite loop"); fp.close();'
+ $ hg ci -Amnoeol
+ adding noeol
+
+last character omitted in output to avoid infinite loop
+
+ $ hg grep loop
+ noeol:4:no infinite loo
+
+
+ $ cd ..
+
+Got a traceback when using grep on a single
+revision with renamed files.
+issue 685
+
+ $ hg init issue685
+ $ cd issue685
+ $ echo octarine > color
+ $ hg ci -Amcolor
+ adding color
+ $ hg rename color colour
+ $ hg ci -Am rename
+ $ hg grep octarine
+ 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