Mercurial > hg
changeset 35399:dffc35a5be9f
debugbuilddag: create filectx instance in 'filectxfn' callback
Same motivation is previous patch.
Differential Revision: https://phab.mercurial-scm.org/D1670
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sat, 09 Dec 2017 14:22:12 -0800 |
parents | 2123e7629ec0 |
children | 8a0cac20a1ad |
files | mercurial/debugcommands.py |
diffstat | 1 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Sat Dec 09 14:15:30 2017 -0800 +++ b/mercurial/debugcommands.py Sat Dec 09 14:22:12 2017 -0800 @@ -183,7 +183,7 @@ id, ps = data files = [] - fctxs = {} + filecontent = {} p2 = None if mergeable_file: @@ -204,27 +204,29 @@ ml[id * linesperrev] += " r%i" % id mergedtext = "\n".join(ml) files.append(fn) - fctxs[fn] = context.memfilectx(repo, fn, mergedtext) + filecontent[fn] = mergedtext if overwritten_file: fn = "of" files.append(fn) - fctxs[fn] = context.memfilectx(repo, fn, "r%i\n" % id) + filecontent[fn] = "r%i\n" % id if new_file: fn = "nf%i" % id files.append(fn) - fctxs[fn] = context.memfilectx(repo, fn, "r%i\n" % id) + filecontent[fn] = "r%i\n" % id if len(ps) > 1: if not p2: p2 = repo[ps[1]] for fn in p2: if fn.startswith("nf"): files.append(fn) - fctxs[fn] = p2[fn] + filecontent[fn] = p2[fn].data() def fctxfn(repo, cx, path): - return fctxs.get(path) + if path in filecontent: + return context.memfilectx(repo, path, filecontent[path]) + return None if len(ps) == 0 or ps[0] < 0: pars = [None, None]