--- a/mercurial/commands.py Tue Aug 14 21:36:08 2007 +0200
+++ b/mercurial/commands.py Wed Aug 15 16:43:40 2007 +0200
@@ -1188,9 +1188,9 @@
for fn in fns:
if fn in skip:
continue
- fstate.setdefault(fn, {})
try:
grepbody(fn, rev, getfile(fn).read(mf[fn]))
+ fstate.setdefault(fn, [])
if follow:
copied = getfile(fn).renamed(mf[fn])
if copied:
--- a/tests/test-grep Tue Aug 14 21:36:08 2007 +0200
+++ b/tests/test-grep Wed Aug 15 16:43:40 2007 +0200
@@ -52,3 +52,17 @@
hg ci -m 3 -d '0 0'
hg grep orange
hg grep --all orange
+
+# Got a traceback when using grep on a single
+# revision with renamed files.
+cd ..
+echo % issue 685
+hg init issue685
+cd issue685
+echo octarine > color
+hg ci -Amcolor
+hg rename color colour
+Hg ci -Am rename
+hg grep octarine
+# Used to crash here
+hg grep -r 1 octarine
--- a/tests/test-grep.out Tue Aug 14 21:36:08 2007 +0200
+++ b/tests/test-grep.out Wed Aug 15 16:43:40 2007 +0200
@@ -32,3 +32,8 @@
color:3:+:orange
color:2:-:orange
color:1:+:orange
+% issue 685
+adding color
+color:0:octarine
+colour:1:octarine
+colour:1:octarine