(Arne Babenhauserheide)
2014-05-18: fix API breakage (changesettemplater now takes a tmpl argument). fix API breakage (changesettemplater now takes a tmpl argument).
diff --git a/staticsite.py b/staticsite.py
--- a/staticsite.py
+++ b/staticsite.py
@@ -729,11 +729,20 @@ def parsereadme(filepath, truncated=Fals
except ImportError:
return "<pre markdown=\"1\" style=\"white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;\">" + text + "</pre>"
+def simpletemplater(ui, repo, tmpl):
+ """Get a simple templater, resolving API changes on the way."""
+ # TODO: first check for 3.x, then for older versions. Requires checking the error in old versions.
+ try:
+ t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
+ t.use_template(tmpl)
+ except TypeError: # 3.0?
+ t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, tmpl=tmpl, mapfile=None, buffered=False)
+ return t
+
def overviewlogstring(ui, repo, revs, template=templates["commitlog"]):
"""Get the string for a log of the given revisions for the overview page."""
ui.pushbuffer()
- t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
- t.use_template(template.replace("{relativepath}", ""))
+ t = simpletemplater(ui, repo, template.replace("{relativepath}", ""))
for c in revs:
ctx = repo.changectx(c)
t.show(ctx)
@@ -802,13 +811,14 @@ def writeoverview(ui, repo, target, name
overview += "</div>"
break
+
+
ui.debug("[staticsite] writeoverview: shortlog\n")
# now add the 5 most recent log entries
# divert all following ui output to a string, so we can just use standard functions
overview += "\n<div id='shortlog'><h2>Changes (<a href='commits'>full changelog</a>)</h2>\n"
ui.pushbuffer()
- t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
- t.use_template(templates["commitlog"].replace("{relativepath}", ""))
+ t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", ""))
for c in range(1, min(len(repo.changelog), 5)):
ctx = repo.changectx(str(-c))
t.show(ctx)
@@ -895,8 +905,7 @@ def writelog(ui, repo, target, name):
os.makedirs(d)
# create the log files
- t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
- t.use_template(templates["commitlog"].replace("{relativepath}", "../"))
+ t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", "../"))
logs = []
for ck in range(len(repo.changelog)/100+1):
ui.pushbuffer()
@@ -1076,8 +1085,7 @@ def getforkdata(ui, repo, target, name,
"{relpath}", "../../")
# prepare the log templater
- t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
- t.use_template(templates["commitlog"].replace(
+ t = simpletemplater(ui, repo, templates["commitlog"].replace(
"{relativepath}", "../../"))
# Add incoming commits
@@ -1148,8 +1156,7 @@ def writecommitsforchlist(ui, repo, targ
if not os.path.isdir(commit):
os.makedirs(commit)
- t = cmdutil.changeset_templater(ui, repo, patch=False, diffopts=None, mapfile=None, buffered=False)
- t.use_template(templates["commitlog"].replace("{relativepath}", "../"))
+ t = simpletemplater(ui, repo, templates["commitlog"].replace("{relativepath}", "../"))
for c in chlist:
ctx = repo.changectx(str(c))