mercurial/cmdutil.py
branchstable
changeset 16165 60101427d618
parent 16108 f7e0d95d0a0b
child 16283 6c4dbe28dda3
--- a/mercurial/cmdutil.py	Fri Feb 24 20:56:18 2012 +0100
+++ b/mercurial/cmdutil.py	Fri Feb 24 20:57:59 2012 +0100
@@ -1024,8 +1024,15 @@
 
             return reversed(revs)
         def iterfiles():
+            pctx = repo['.']
             for filename in match.files():
-                yield filename, None
+                if follow:
+                    if filename not in pctx:
+                        raise util.Abort(_('cannot follow file not in parent '
+                                           'revision: "%s"') % filename)
+                    yield filename, pctx[filename].filenode()
+                else:
+                    yield filename, None
             for filename_node in copies:
                 yield filename_node
         for file_, node in iterfiles():