changeset 5261:15a108ad7adb

Avoid a working dir walk while trying to detect copies for diff --git
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Tue, 28 Aug 2007 23:02:41 -0300
parents 0fc16031bb45
children d59ed18ec2d0
files mercurial/patch.py
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1169,8 +1169,9 @@ def diff(repo, node1=None, node2=None, f
         if crev is None:
             crev = repo.changelog.count()
         orig = f
+        files = (f,)
         while crev > startrev:
-            if f in c.files():
+            if f in files:
                 try:
                     src = getfilectx(f, c).renamed()
                 except revlog.LookupError:
@@ -1180,6 +1181,7 @@ def diff(repo, node1=None, node2=None, f
             crev = c.parents()[0].rev()
             # try to reuse
             c = getctx(crev)
+            files = c.files()
         if f not in man:
             return None
         if f == orig: