D6020: mq: get copy source from context object instead of from filelog
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Sun Feb 24 06:11:25 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This removes dependence on filelog.renamed().
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6020
AFFECTED FILES
hgext/mq.py
CHANGE DETAILS
diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -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]
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list