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.
--- 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"""