changeset 5170:de7c772751b4

Merge with crew-stable
author Patrick Mezard <pmezard@gmail.com>
date Wed, 15 Aug 2007 16:43:40 +0200
parents 4dfe4c21dd64 (current diff) ee702e7f181f (diff)
children f53d97d651f4
files mercurial/commands.py
diffstat 3 files changed, 20 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1188,9 +1188,9 @@ def grep(ui, repo, pattern, *pats, **opt
             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
+++ b/tests/test-grep
@@ -52,3 +52,17 @@ echo blue >> color
 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
+++ b/tests/test-grep.out
@@ -32,3 +32,8 @@ color:3:orange
 color:3:+:orange
 color:2:-:orange
 color:1:+:orange
+% issue 685
+adding color
+color:0:octarine
+colour:1:octarine
+colour:1:octarine