diff mercurial/cmdutil.py @ 10061:9e2ab10728a2

Make {file_copies} usable as a --template key Before this, to display file copies in templates, you had to write something like {file_copies%filecopy}. For some reason, the {file_copy} subtemplate was used by default but not defined by default in changeset_templater, while styles were already using it. Here we define {file_copy} in changeset_templater, and change the templater to handle formatting strings like {file_copies%filecopy} with already expanded keys (in this case {file_copies}), for backward compatibility.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 13 Dec 2009 18:06:24 +0100
parents f780b1098efc
children 27457d31ae3f
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Sun Dec 13 18:06:24 2009 +0100
+++ b/mercurial/cmdutil.py	Sun Dec 13 18:06:24 2009 +0100
@@ -757,12 +757,16 @@
     def __init__(self, ui, repo, patch, diffopts, mapfile, buffered):
         changeset_printer.__init__(self, ui, repo, patch, diffopts, buffered)
         formatnode = ui.debugflag and (lambda x: x) or (lambda x: x[:12])
+        defaulttempl = {
+            'parent': '{rev}:{node|formatnode} ',
+            'manifest': '{rev}:{node|formatnode}',
+            'file_copy': '{name} ({source})',
+            'extra': '{key}={value|stringescape}'
+            }
+        # filecopy is preserved for compatibility reasons
+        defaulttempl['filecopy'] = defaulttempl['file_copy']
         self.t = templater.templater(mapfile, {'formatnode': formatnode},
-                                     cache={
-                                         'parent': '{rev}:{node|formatnode} ',
-                                         'manifest': '{rev}:{node|formatnode}',
-                                         'filecopy': '{name} ({source})',
-                                         'extra': '{key}={value|stringescape}'})
+                                     cache=defaulttempl)
         self.cache = {}
 
     def use_template(self, t):