--- 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):