changeset 41780:18f619d3b1bb

mq: get copy source from context object instead of from filelog This removes dependence on filelog.renamed(). Differential Revision: https://phab.mercurial-scm.org/D6020
author Martin von Zweigbergk <martinvonz@google.com>
date Sat, 23 Feb 2019 09:32:07 -0800
parents 6ed520c3e932
children e9b9ee9af4a9
files hgext/mq.py
diffstat 1 files changed, 3 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/mq.py	Sat Feb 23 09:30:49 2019 -0800
+++ b/hgext/mq.py	Sat Feb 23 09:32:07 2019 -0800
@@ -1701,7 +1701,6 @@
             # caching against the next repo.status call
             mm, aa, dd = repo.status(patchparent, top)[:3]
             ctx = repo[top]
-            man = ctx.manifest()
             aaa = aa[:]
             match1 = scmutil.match(repo[None], pats, opts)
             # in short mode, we only diff the files included in the
@@ -1778,13 +1777,12 @@
                         repo.dirstate.add(dst)
                     # remember the copies between patchparent and qtip
                     for dst in aaa:
-                        f = repo.file(dst)
-                        src = f.renamed(man[dst])
+                        src = ctx[dst].copysource()
                         if src:
-                            copies.setdefault(src[0], []).extend(
+                            copies.setdefault(src, []).extend(
                                 copies.get(dst, []))
                             if dst in a:
-                                copies[src[0]].append(dst)
+                                copies[src].append(dst)
                         # we can't copy a file created by the patch itself
                         if dst in copies:
                             del copies[dst]