mercurial/logcmdutil.py
changeset 37072 d64ae4fef471
parent 36989 de117f579431
child 37084 f0b6fbea00cf
equal deleted inserted replaced
37071:d3f7930a9563 37072:d64ae4fef471
   414     # Arguments before "buffered" used to be positional. Consider not
   414     # Arguments before "buffered" used to be positional. Consider not
   415     # adding/removing arguments before "buffered" to not break callers.
   415     # adding/removing arguments before "buffered" to not break callers.
   416     def __init__(self, ui, repo, tmplspec, differ=None, diffopts=None,
   416     def __init__(self, ui, repo, tmplspec, differ=None, diffopts=None,
   417                  buffered=False):
   417                  buffered=False):
   418         changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered)
   418         changesetprinter.__init__(self, ui, repo, differ, diffopts, buffered)
   419         tres = formatter.templateresources(ui, repo)
   419         # tres is shared with _graphnodeformatter()
       
   420         self._tresources = tres = formatter.templateresources(ui, repo)
   420         self.t = formatter.loadtemplater(ui, tmplspec,
   421         self.t = formatter.loadtemplater(ui, tmplspec,
   421                                          defaults=templatekw.keywords,
   422                                          defaults=templatekw.keywords,
   422                                          resources=tres,
   423                                          resources=tres,
   423                                          cache=templatekw.defaulttempl)
   424                                          cache=templatekw.defaulttempl)
   424         self._counter = itertools.count()
   425         self._counter = itertools.count()
   425         self._getcache = tres['cache']  # shared with _graphnodeformatter()
       
   426 
   426 
   427         self._tref = tmplspec.ref
   427         self._tref = tmplspec.ref
   428         self._parts = {'header': '', 'footer': '',
   428         self._parts = {'header': '', 'footer': '',
   429                        tmplspec.ref: tmplspec.ref,
   429                        tmplspec.ref: tmplspec.ref,
   430                        'docheader': '', 'docfooter': '',
   430                        'docheader': '', 'docfooter': '',
   842     spec = ui.config('ui', 'graphnodetemplate')
   842     spec = ui.config('ui', 'graphnodetemplate')
   843     if not spec:
   843     if not spec:
   844         return templatekw.getgraphnode  # fast path for "{graphnode}"
   844         return templatekw.getgraphnode  # fast path for "{graphnode}"
   845 
   845 
   846     spec = templater.unquotestring(spec)
   846     spec = templater.unquotestring(spec)
   847     tres = formatter.templateresources(ui)
       
   848     if isinstance(displayer, changesettemplater):
   847     if isinstance(displayer, changesettemplater):
   849         # reuse cache of slow templates
   848         # reuse cache of slow templates
   850         tres['cache'] = displayer._getcache
   849         tres = displayer._tresources
       
   850     else:
       
   851         tres = formatter.templateresources(ui)
   851     templ = formatter.maketemplater(ui, spec, defaults=templatekw.keywords,
   852     templ = formatter.maketemplater(ui, spec, defaults=templatekw.keywords,
   852                                     resources=tres)
   853                                     resources=tres)
   853     def formatnode(repo, ctx):
   854     def formatnode(repo, ctx):
   854         props = {'ctx': ctx, 'repo': repo, 'revcache': {}}
   855         props = {'ctx': ctx, 'repo': repo, 'revcache': {}}
   855         return templ.renderdefault(props)
   856         return templ.renderdefault(props)