mercurial/cmdutil.py
changeset 4353 1ccd3b9a7b1f
parent 4232 0d51eb296fb9
parent 4351 051fb8c2567c
child 4378 e89f9afc462b
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -225,7 +225,7 @@ class changeset_printer(object):
             return 1
         return 0
 
-    def show(self, rev=0, changenode=None, copies=None, **props):
+    def show(self, rev=0, changenode=None, copies=(), **props):
         if self.buffered:
             self.ui.pushbuffer()
             self._show(rev, changenode, copies, props)
@@ -321,10 +321,14 @@ class changeset_templater(changeset_prin
 
     def __init__(self, ui, repo, patch, mapfile, buffered):
         changeset_printer.__init__(self, ui, repo, patch, buffered)
-        self.t = templater.templater(mapfile, templater.common_filters,
-                                     cache={'parent': '{rev}:{node|short} ',
-                                            'manifest': '{rev}:{node|short}',
-                                            'filecopy': '{name} ({source})'})
+        filters = templater.common_filters.copy()
+        filters['formatnode'] = (ui.debugflag and (lambda x: x)
+                                 or (lambda x: x[:12]))
+        self.t = templater.templater(mapfile, filters,
+                                     cache={
+                                         'parent': '{rev}:{node|formatnode} ',
+                                         'manifest': '{rev}:{node|formatnode}',
+                                         'filecopy': '{name} ({source})'})
 
     def use_template(self, t):
         '''set template string to use'''