hgext3rd/evolve/stablerange.py
changeset 3264 383ec26247b3
parent 3262 774f69d74ec2
child 3268 10badf5951e5
--- a/hgext3rd/evolve/stablerange.py	Sat Nov 25 18:31:37 2017 -0500
+++ b/hgext3rd/evolve/stablerange.py	Sun Dec 10 01:48:32 2017 +0100
@@ -306,10 +306,17 @@
         headrev, index = rangeid[0], rangeid[1]
         return self.depthrev(repo, headrev) - index
 
-class stablerange_mergepoint(stablerangecached, stablerangedummy_mergepoint):
+class stablerange_mergepoint(stablerangecached, stablerangebasic):
     """Stablerange implementation using 'mergepoint' based sorting
     """
 
+    def __init__(self):
+        self._sortcache = stablesort.stablesortcache()
+        super(stablerange_mergepoint, self).__init__()
+
+    def _sortfunction(self, repo, headrev):
+        return self._sortcache.get(repo, headrev)
+
     def revsfromrange(self, repo, rangeid):
         """return revision contained in a range
 
@@ -317,8 +324,7 @@
         <head>, skipping the <index>th lower revisions.
         """
         limit = self.rangelength(repo, rangeid)
-        return stablesort.stablesort_mergepoint_head_debug(repo, [rangeid[0]],
-                                                           limit=limit)
+        return self._sortcache.get(repo, rangeid[0], limit=limit)
 
 class stablerange(stablerangecached):