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.
--- 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.