Avoid a working dir walk while trying to detect copies for diff --git
authorAlexis S. L. Carvalho <alexis@cecm.usp.br>
Tue, 28 Aug 2007 23:02:41 -0300
changeset 5265 15a108ad7adb
parent 5264 0fc16031bb45
child 5266 d59ed18ec2d0
Avoid a working dir walk while trying to detect copies for diff --git
mercurial/patch.py
--- a/mercurial/patch.py	Tue Aug 28 22:48:25 2007 -0300
+++ b/mercurial/patch.py	Tue Aug 28 23:02:41 2007 -0300
@@ -1169,8 +1169,9 @@
         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 @@
             crev = c.parents()[0].rev()
             # try to reuse
             c = getctx(crev)
+            files = c.files()
         if f not in man:
             return None
         if f == orig: