Mercurial > hg
changeset 42114:aa84bc48c2f7
getrenamedfn: get copy data from context object if configured
The function returned from getrenamedfn() calls
filelog.renamed(). That won't work when storing copy metadata in the
changeset.
I've just switched to a simple implementation here. We may or may not
need to optimize it later, possibly by optimizing the callers.
No more tests fail with "--extra-config-opt
experimental.copies.read-from=compatibility)" than they did before
this patch.
Differential Revision: https://phab.mercurial-scm.org/D6162
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 18 Jan 2019 13:13:48 -0800 |
parents | f0def07fa82f |
children | 27475ae67676 |
files | mercurial/scmutil.py |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/scmutil.py Sun Mar 31 16:27:10 2019 +0300 +++ b/mercurial/scmutil.py Fri Jan 18 13:13:48 2019 -0800 @@ -1205,6 +1205,18 @@ wctx.copy(old, new) def getrenamedfn(repo, endrev=None): + if repo.ui.config('experimental', 'copies.read-from') == 'compatibility': + def getrenamed(fn, rev): + ctx = repo[rev] + p1copies = ctx.p1copies() + if fn in p1copies: + return p1copies[fn] + p2copies = ctx.p2copies() + if fn in p2copies: + return p2copies[fn] + return None + return getrenamed + rcache = {} if endrev is None: endrev = len(repo)