comparison mercurial/revset.py @ 20714:41e1064486f9

revset: optimized sort method in lazyset class We are taking advantage of the smartset classes sort method when it exists and converting the set to a baseset otherwise.
author Lucas Moscovicz <lmoscovicz@fb.com>
date Thu, 06 Mar 2014 09:41:47 -0800
parents 6a1a4c212d50
children fa1ac5faa7c4
comparison
equal deleted inserted replaced
20713:6a1a4c212d50 20714:41e1064486f9
2251 # Basic implementation to be changed in future patches. 2251 # Basic implementation to be changed in future patches.
2252 l = baseset([r for r in self]) 2252 l = baseset([r for r in self])
2253 return l[x] 2253 return l[x]
2254 2254
2255 def sort(self, reverse=False): 2255 def sort(self, reverse=False):
2256 # Basic implementation to be changed in future patches. 2256 if not util.safehasattr(self._subset, 'sort'):
2257 self._subset = baseset(self._subset) 2257 self._subset = baseset(self._subset)
2258 self._subset.sort(reverse=reverse) 2258 self._subset.sort(reverse=reverse)
2259 2259
2260 def reverse(self): 2260 def reverse(self):
2261 self._subset.reverse() 2261 self._subset.reverse()
2262 2262