diff mercurial/patch.py @ 3694:c0b1a0c72c7d

renamedbetween: only return (file, node) pairs that exist in the original rev
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Mon, 20 Nov 2006 19:32:36 -0200
parents 454b3a8cdf28
children 3a2fc90d27d6
line wrap: on
line diff
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -469,6 +469,7 @@ def diff(repo, node1=None, node2=None, f
 
     def renamedbetween(f, n1, n2):
         r1, r2 = map(repo.changelog.rev, (n1, n2))
+        orig = f
         src = None
         while r2 > r1:
             cl = getchangelog(n2)
@@ -482,7 +483,13 @@ def diff(repo, node1=None, node2=None, f
                     f = src[0]
             n2 = repo.changelog.parents(n2)[0]
             r2 = repo.changelog.rev(n2)
-        return src
+        if orig == f:
+            return None
+        cl = getchangelog(n1)
+        m = getmanifest(cl[0])
+        if f not in m:
+            return None
+        return f, m[f]
 
     if node2:
         change = getchangelog(node2)