revlog: add incancestors, a version of ancestors that includes revs listed
authorJoshua Redstone <joshua.redstone@fb.com>
Fri, 08 Jun 2012 07:59:37 -0700
changeset 17008 553e8f5aba7a
parent 17007 21e18c608b68
child 17009 0c18aed2fcca
revlog: add incancestors, a version of ancestors that includes revs listed ancestors() returns the ancestors of revs provided. This func is like that except it also includes the revs themselves in the total set of revs generated.
mercurial/revlog.py
--- a/mercurial/revlog.py	Thu Jun 14 11:43:48 2012 +0200
+++ b/mercurial/revlog.py	Fri Jun 08 07:59:37 2012 -0700
@@ -404,6 +404,14 @@
                     seen.add(parent)
                     yield parent
 
+    def incancestors(self, revs, stoprev=0):
+        """Identical to ancestors() except it also generates the
+        revisions, 'revs'"""
+        for rev in revs:
+            yield rev
+        for rev in self.ancestors(revs, stoprev):
+            yield rev
+
     def descendants(self, revs):
         """Generate the descendants of 'revs' in revision order.