py3: make 'None in lazyancestors' not crash
authorYuya Nishihara <yuya@tcha.org>
Sun, 08 Jul 2018 17:17:54 +0900
changeset 38595 f8b46245b26a
parent 38594 b263133eeb5a
child 38596 1fad808f2a6b
py3: make 'None in lazyancestors' not crash This looks somewhat weird, but we have callers like 'torev(n) in futurecommon' around where torev(n) is dictlike.get(n). I could fix callers, but that would be unnecessarily verbose.
mercurial/ancestor.py
--- a/mercurial/ancestor.py	Sun Jul 08 16:55:21 2018 +0900
+++ b/mercurial/ancestor.py	Sun Jul 08 17:17:54 2018 +0900
@@ -339,6 +339,10 @@
         seen = self._containsseen
         if target in seen:
             return True
+        # Only integer target is valid, but some callers expect 'None in self'
+        # to be False. So we explicitly allow it.
+        if target is None:
+            return False
 
         parentrevs = self._parentrevs
         visit = self._containsvisit