mercurial/revlog.py
changeset 38513 6db38c9d7e00
parent 38512 99f864b34451
child 38514 cc3543c87de5
--- a/mercurial/revlog.py	Thu Jun 21 23:56:51 2018 +0100
+++ b/mercurial/revlog.py	Fri Jun 22 00:05:20 2018 +0100
@@ -1376,16 +1376,14 @@
         return c
 
     def descendant(self, start, end):
+        """True if revision 'end' is an descendant of revision 'start'
+
+        A revision is considered as a descendant of itself."""
         if start == nullrev:
             return True
         elif start == end:
             return True
-        for i in self.descendants([start]):
-            if i == end:
-                return True
-            elif i > end:
-                break
-        return False
+        return start in self._commonancestorsheads(start, end)
 
     def commonancestorsheads(self, a, b):
         """calculate all the heads of the common ancestors of nodes a and b"""