diff mercurial/revlog.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 a89b20a49c13
children 00b314c42094
line wrap: on
line diff
--- a/mercurial/revlog.py	Mon Jan 14 16:53:55 2019 +0100
+++ b/mercurial/revlog.py	Mon Jan 14 17:06:00 2019 +0100
@@ -1102,11 +1102,13 @@
         assert heads
         return (orderedout, roots, heads)
 
-    def headrevs(self):
-        try:
-            return self.index.headrevs()
-        except AttributeError:
-            return self._headrevs()
+    def headrevs(self, revs=None):
+        if revs is None:
+            try:
+                return self.index.headrevs()
+            except AttributeError:
+                return self._headrevs()
+        return dagop.headrevs(revs, self.parentrevs)
 
     def computephases(self, roots):
         return self.index.computephasesmapsets(roots)