context: rewrite renamed() in terms of new copysource() where appropriate
authorMartin von Zweigbergk <martinvonz@google.com>
Sun, 25 Mar 2018 21:28:30 -0700
changeset 41769 e9413a3be093
parent 41768 041d829575ed
child 41770 c7a843aa4b42
context: rewrite renamed() in terms of new copysource() where appropriate It's only the filectx for committed files that have the copy source's nodeid easily available; workingfilectx's and overlayfilectx's renamed() simply find the nodeid by looking in the changeset's p1's manifest. Differential Revision: https://phab.mercurial-scm.org/D6009
mercurial/context.py
--- a/mercurial/context.py	Sun Mar 25 21:32:16 2018 -0700
+++ b/mercurial/context.py	Sun Mar 25 21:28:30 2018 -0700
@@ -1701,7 +1701,7 @@
     def data(self):
         return self._repo.wread(self._path)
     def renamed(self):
-        rp = self._repo.dirstate.copied(self._path)
+        rp = self.copysource()
         if not rp:
             return None
         return rp, self._changectx._parents[0]._manifest.get(rp, nullid)
@@ -2147,7 +2147,7 @@
         return self._parent.exists(self._path)
 
     def renamed(self):
-        path = self._parent.copydata(self._path)
+        path = self.copysource()
         if not path:
             return None
         return path, self._changectx._parents[0]._manifest.get(path, nullid)