# HG changeset patch # User Pierre-Yves David # Date 1512866328 -3600 # Node ID 85160bd3f641039b86254c98c5668fe7d1bd3193 # Parent 2f0c113b35f8b38acb94eb5a4d33e39accc15152 stablerange: make use of the limit argument in 'mergepoint' This will eventually avoid doing full iteration on ancestors of the head when retrieving the range content. diff -r 2f0c113b35f8 -r 85160bd3f641 hgext3rd/evolve/stablerange.py --- a/hgext3rd/evolve/stablerange.py Sun Dec 10 01:33:39 2017 +0100 +++ b/hgext3rd/evolve/stablerange.py Sun Dec 10 01:38:48 2017 +0100 @@ -309,7 +309,16 @@ class stablerange_mergepoint(stablerangecached, stablerangedummy_mergepoint): """Stablerange implementation using 'mergepoint' based sorting """ - pass + + def revsfromrange(self, repo, rangeid): + """return revision contained in a range + + The range `(, )` contains all revisions stable-sorted from + , skipping the th lower revisions. + """ + limit = self.rangelength(repo, rangeid) + return stablesort.stablesort_mergepoint_head_basic(repo, [rangeid[0]], + limit=limit) class stablerange(stablerangecached):