revlog: add a method to get missing revs incrementally
This will turn out to be useful for discovery.
--- a/mercurial/revlog.py Sat Nov 15 19:26:20 2014 -0800
+++ b/mercurial/revlog.py Sun Nov 16 00:39:48 2014 -0800
@@ -495,6 +495,20 @@
missing.sort()
return has, [self.node(r) for r in missing]
+ def incrementalmissingrevs(self, common=None):
+ """Return an object that can be used to incrementally compute the
+ revision numbers of the ancestors of arbitrary sets that are not
+ ancestors of common. This is an ancestor.incrementalmissingancestors
+ object.
+
+ 'common' is a list of revision numbers. If common is not supplied, uses
+ nullrev.
+ """
+ if common is None:
+ common = [nullrev]
+
+ return ancestor.incrementalmissingancestors(self.parentrevs, common)
+
def findmissingrevs(self, common=None, heads=None):
"""Return the revision numbers of the ancestors of heads that
are not ancestors of common.