--- a/mercurial/cmdutil.py Tue Dec 29 16:00:38 2009 +0100
+++ b/mercurial/cmdutil.py Mon Dec 28 17:55:52 2009 +0100
@@ -637,6 +637,7 @@
self.header = {}
self.hunk = {}
self.lastheader = None
+ self.footer = None
def flush(self, rev):
if rev in self.header:
@@ -651,6 +652,10 @@
return 1
return 0
+ def close(self):
+ if self.footer:
+ self.ui.write(self.footer)
+
def show(self, ctx, copies=None, **props):
if self.buffered:
self.ui.pushbuffer()
@@ -817,7 +822,7 @@
(self.ui.debugflag, 'debug'),
]
- types = {'header': '', 'changeset': 'changeset'}
+ types = {'header': '', 'footer':'', 'changeset': 'changeset'}
for mode, postfix in tmplmodes:
for type in types:
cur = postfix and ('%s_%s' % (type, postfix)) or type
@@ -839,6 +844,11 @@
self.ui.write(templater.stringify(self.t(key, **props)))
self.showpatch(ctx.node())
+ if types['header']:
+ if not self.footer:
+ self.footer = templater.stringify(self.t(types['footer'],
+ **props))
+
except KeyError, inst:
msg = _("%s: no key named '%s'")
raise util.Abort(msg % (self.t.mapfile, inst.args[0]))