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.
--- a/mercurial/revset.py Thu Mar 13 13:47:21 2014 -0700
+++ b/mercurial/revset.py Thu Mar 06 09:41:47 2014 -0800
@@ -2253,8 +2253,8 @@
return l[x]
def sort(self, reverse=False):
- # Basic implementation to be changed in future patches.
- self._subset = baseset(self._subset)
+ if not util.safehasattr(self._subset, 'sort'):
+ self._subset = baseset(self._subset)
self._subset.sort(reverse=reverse)
def reverse(self):