--- a/mercurial/revset.py Thu Sep 19 15:38:42 2013 -0400
+++ b/mercurial/revset.py Mon Feb 24 16:36:17 2014 -0800
@@ -2348,6 +2348,7 @@
self._cache = {}
self._genlist = baseset([])
self._iterated = False
+ self._finished = False
def __contains__(self, x):
if x in self._cache:
@@ -2357,6 +2358,7 @@
if l == x:
return True
+ self._finished = True
self._cache[x] = False
return False
@@ -2372,9 +2374,18 @@
self._genlist.append(item)
yield item
+ self._finished = True
+
def set(self):
return self
+ def sort(self, reverse=False):
+ # Basic implementation to be changed in future patches
+ if not self._finished:
+ for i in self:
+ continue
+ self._genlist.sort(reverse=reverse)
+
class ascgeneratorset(generatorset):
""" Same structure as generatorset but stops iterating after it goes past
the value when asked for membership and the element is not contained