mercurial/revset.py
changeset 25270 61b3529e2377
parent 25253 3f1a9b44b8c2
parent 25265 e16456831516
child 25307 4d1e56b29a91
--- a/mercurial/revset.py	Mon May 25 11:06:49 2015 -0700
+++ b/mercurial/revset.py	Tue May 26 07:44:37 2015 -0500
@@ -329,7 +329,8 @@
 
 def stringset(repo, subset, x):
     x = repo[x].rev()
-    if x in subset:
+    if (x in subset
+        or x == node.nullrev and isinstance(subset, fullreposet)):
         return baseset([x])
     return baseset()
 
@@ -1911,7 +1912,7 @@
 def wdir(repo, subset, x):
     # i18n: "wdir" is a keyword
     getargs(x, 0, 0, _("wdir takes no arguments"))
-    if None in subset:
+    if None in subset or isinstance(subset, fullreposet):
         return baseset([None])
     return baseset()
 
@@ -3470,11 +3471,6 @@
     def __init__(self, repo):
         super(fullreposet, self).__init__(repo)
 
-    def __contains__(self, rev):
-        # assumes the given rev is valid
-        hidden = self._hiddenrevs
-        return not (hidden and rev in hidden)
-
     def __and__(self, other):
         """As self contains the whole repo, all of the other set should also be
         in self. Therefore `self & other = other`.