diff mercurial/changelog.py @ 41275:1421d0487a61

revlog: accept a revs argument in `headrevs` Computing the heads of an arbitrary set of revision is useful, we make it possible to do so through the `headrevs` method of the revlog. Right now, this is just calling dagop's implementation. However, we expect to plug a native implementation soon.
author Boris Feld <boris.feld@octobus.net>
date Mon, 14 Jan 2019 17:06:00 +0100
parents e7a2cc84dbc0
children b436059c1cca
line wrap: on
line diff
--- a/mercurial/changelog.py	Mon Jan 14 16:53:55 2019 +0100
+++ b/mercurial/changelog.py	Mon Jan 14 17:06:00 2019 +0100
@@ -347,8 +347,8 @@
     def reachableroots(self, minroot, heads, roots, includepath=False):
         return self.index.reachableroots2(minroot, heads, roots, includepath)
 
-    def headrevs(self):
-        if self.filteredrevs:
+    def headrevs(self, revs=None):
+        if revs is None and self.filteredrevs:
             try:
                 return self.index.headrevsfiltered(self.filteredrevs)
             # AttributeError covers non-c-extension environments and
@@ -356,7 +356,7 @@
             except AttributeError:
                 return self._headrevs()
 
-        return super(changelog, self).headrevs()
+        return super(changelog, self).headrevs(revs)
 
     def strip(self, *args, **kwargs):
         # XXX make something better than assert