# HG changeset patch # User Pierre-Yves David # Date 1512866912 -3600 # Node ID 383ec26247b3af104727abe7f63e3626b9bb5e4d # Parent 07678f7a4481acea6bfd08400abfd4fa70760c54 stablerange: use the new cache object in the 'mergepoint' version Every improvement to the cache should reflect on the stable range from there. Since we no longer use the basic sort function, we can simplify the inheritance by dropping one layer. diff -r 07678f7a4481 -r 383ec26247b3 hgext3rd/evolve/stablerange.py --- 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 @@ , skipping the 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):