mercurial/namespaces.py
branchstable
changeset 24151 38824c53c2f1
parent 23967 448bb32b8ee6
child 24180 d8e0c591781c
--- a/mercurial/namespaces.py	Sun Mar 01 00:18:43 2015 -0300
+++ b/mercurial/namespaces.py	Thu Feb 05 14:45:49 2015 +0900
@@ -41,7 +41,8 @@
                       # i18n: column positioning for "hg log"
                       logfmt=_("tag:         %s\n"),
                       listnames=tagnames,
-                      namemap=tagnamemap, nodemap=tagnodemap)
+                      namemap=tagnamemap, nodemap=tagnodemap,
+                      deprecated=set(['tip']))
         self.addnamespace(n)
 
         bnames = lambda repo: repo.branchmap().keys()
@@ -126,11 +127,13 @@
                    dictionary)
       'namemap': function that takes a name and returns a list of nodes
       'nodemap': function that takes a node and returns a list of names
+      'deprecated': set of names to be masked for ordinary use
 
     """
 
     def __init__(self, name, templatename=None, logname=None, colorname=None,
-                 logfmt=None, listnames=None, namemap=None, nodemap=None):
+                 logfmt=None, listnames=None, namemap=None, nodemap=None,
+                 deprecated=None):
         """create a namespace
 
         name: the namespace to be registered (in plural form)
@@ -144,6 +147,7 @@
         listnames: function to list all names
         namemap: function that inputs a node, output name(s)
         nodemap: function that inputs a name, output node(s)
+        deprecated: set of names to be masked for ordinary use
 
         """
         self.name = name
@@ -168,6 +172,11 @@
             # i18n: column positioning for "hg log"
             self.logfmt = ("%s:" % self.logname).ljust(13) + "%s\n"
 
+        if deprecated is None:
+            self.deprecated = set()
+        else:
+            self.deprecated = deprecated
+
     def names(self, repo, node):
         """method that returns a (sorted) list of names in a namespace that
         match a given node"""