namespaces: add logname member to namespace object
authorSean Farley <sean.michael.farley@gmail.com>
Wed, 14 Jan 2015 20:06:44 -0800
changeset 23874 fef1146b8442
parent 23873 9ef234021667
child 23875 e573dd08aeaf
namespaces: add logname member to namespace object Previously, there was no way to change the name used for 'hg log' output. This was inconvenient for extensions that want a template name longer than 12 characters (e.g. remotebookmarks) but a different name for 'hg log'. This patch only adds the member to the object, a future patch will update the 'hg log' code.
mercurial/namespaces.py
--- a/mercurial/namespaces.py	Wed Jan 14 19:55:20 2015 -0800
+++ b/mercurial/namespaces.py	Wed Jan 14 20:06:44 2015 -0800
@@ -120,12 +120,14 @@
 
     """
 
-    def __init__(self, name, templatename=None, listnames=None, namemap=None,
-                 nodemap=None):
+    def __init__(self, name, templatename=None, logname=None, listnames=None,
+                 namemap=None, nodemap=None):
         """create a namespace
 
         name: the namespace to be registered (in plural form)
         templatename: the name to use for templating
+        logname: the name to use for log output; if not specified templatename
+                 is used
         listnames: function to list all names
         namemap: function that inputs a node, output name(s)
         nodemap: function that inputs a name, output node(s)
@@ -133,10 +135,15 @@
         """
         self.name = name
         self.templatename = templatename
+        self.logname = logname
         self.listnames = listnames
         self.namemap = namemap
         self.nodemap = nodemap
 
+        # if logname is not specified, use the template name as backup
+        if self.logname is None:
+            self.logname = self.templatename
+
     def names(self, repo, node):
         """method that returns a (sorted) list of names in a namespace that
         match a given node"""