Mercurial > evolve
changeset 3264:383ec26247b3
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.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 10 Dec 2017 01:48:32 +0100 |
parents | 07678f7a4481 |
children | 70b5bc95efbe |
files | hgext3rd/evolve/stablerange.py |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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):