# HG changeset patch # User Yuya Nishihara # Date 1521113258 -32400 # Node ID d64ae4fef4717f5b43e61504fd0970ae747c1b8a # Parent d3f7930a9563ee0c1cf64e7176e4e26abb6f0232 log: do no expect templateresources() returning a dict The resources dict will be replaced with new resource mapper object, which won't implement __getitem__(key). Share the whole resources object with _graphnodeformater() to make porting easier. diff -r d3f7930a9563 -r d64ae4fef471 mercurial/logcmdutil.py --- a/mercurial/logcmdutil.py Fri Mar 16 23:11:55 2018 +0900 +++ b/mercurial/logcmdutil.py Thu Mar 15 20:27:38 2018 +0900 @@ -416,13 +416,13 @@ def __init__(self, ui, repo, tmplspec, differ=None, diffopts=None, buffered=False): changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered) - tres = formatter.templateresources(ui, repo) + # tres is shared with _graphnodeformatter() + self._tresources = tres = formatter.templateresources(ui, repo) self.t = formatter.loadtemplater(ui, tmplspec, defaults=templatekw.keywords, resources=tres, cache=templatekw.defaulttempl) self._counter = itertools.count() - self._getcache = tres['cache'] # shared with _graphnodeformatter() self._tref = tmplspec.ref self._parts = {'header': '', 'footer': '', @@ -844,10 +844,11 @@ return templatekw.getgraphnode # fast path for "{graphnode}" spec = templater.unquotestring(spec) - tres = formatter.templateresources(ui) if isinstance(displayer, changesettemplater): # reuse cache of slow templates - tres['cache'] = displayer._getcache + tres = displayer._tresources + else: + tres = formatter.templateresources(ui) templ = formatter.maketemplater(ui, spec, defaults=templatekw.keywords, resources=tres) def formatnode(repo, ctx):