Comments
Patch
@@ -1580,15 +1580,8 @@ class changeset_templater(changeset_prin
def __init__(self, ui, repo, matchfn, diffopts, tmpl, mapfile, buffered):
changeset_printer.__init__(self, ui, repo, matchfn, diffopts, buffered)
- assert not (tmpl and mapfile)
- defaulttempl = templatekw.defaulttempl
- if mapfile:
- self.t = templater.templater.frommapfile(mapfile,
- cache=defaulttempl)
- else:
- self.t = formatter.maketemplater(ui, 'changeset', tmpl,
- cache=defaulttempl)
-
+ self.t = formatter.loadtemplater(ui, 'changeset', (tmpl, mapfile),
+ cache=templatekw.defaulttempl)
self._counter = itertools.count()
self.cache = {}
@@ -408,6 +408,12 @@ def lookuptemplate(ui, topic, tmpl):
def gettemplater(ui, topic, spec, cache=None):
tmpl, mapfile = lookuptemplate(ui, topic, spec)
+ return loadtemplater(ui, topic, (tmpl, mapfile), cache=cache)
+
+def loadtemplater(ui, topic, spec, cache=None):
+ """Create a templater from either a literal template or loading from
+ a map file"""
+ tmpl, mapfile = spec
assert not (tmpl and mapfile)
if mapfile:
return templater.templater.frommapfile(mapfile, cache=cache)