diff mercurial/revlog.py @ 22381:392ae5cb8d62

revlog: introduce isancestor method for efficiently determining node lineage Hide the not so obvious use of commonancestorsheads.
author Mads Kiilerich <madski@unity3d.com>
date Tue, 19 Aug 2014 01:13:10 +0200
parents 4092d12ba18a
children 94f77624dbb5
line wrap: on
line diff
--- a/mercurial/revlog.py	Tue Sep 09 17:16:24 2014 -0400
+++ b/mercurial/revlog.py	Tue Aug 19 01:13:10 2014 +0200
@@ -745,6 +745,13 @@
             ancs = ancestor.commonancestorsheads(self.parentrevs, a, b)
         return map(self.node, ancs)
 
+    def isancestor(self, a, b):
+        """return True if node a is an ancestor of node b
+
+        The implementation of this is trivial but the use of
+        commonancestorsheads is not."""
+        return a in self.commonancestorsheads(a, b)
+
     def ancestor(self, a, b):
         """calculate the least common ancestor of nodes a and b"""