Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 23127:7361d8244efb stable
addset: fix `first` and `last` on sorted addset (issue4426)
The lazy sorting were not enforced on addset. This was made visible through MQ.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Sat, 01 Nov 2014 22:58:30 +0000 |
parents | c23c03605c59 |
children | e53f6b72a0e4 0c432696dae3 |
comparison
equal
deleted
inserted
replaced
23126:8b4a8a9176e2 | 23127:7361d8244efb |
---|---|
2640 self._list.reverse() | 2640 self._list.reverse() |
2641 else: | 2641 else: |
2642 self._ascending = not self._ascending | 2642 self._ascending = not self._ascending |
2643 | 2643 |
2644 def first(self): | 2644 def first(self): |
2645 if self: | 2645 for x in self: |
2646 return self._list.first() | 2646 return x |
2647 return None | 2647 return None |
2648 | 2648 |
2649 def last(self): | 2649 def last(self): |
2650 if self: | 2650 self.reverse() |
2651 return self._list.last() | 2651 val = self.first() |
2652 return None | 2652 self.reverse() |
2653 return val | |
2653 | 2654 |
2654 class generatorset(abstractsmartset): | 2655 class generatorset(abstractsmartset): |
2655 """Wrap a generator for lazy iteration | 2656 """Wrap a generator for lazy iteration |
2656 | 2657 |
2657 Wrapper structure for generators that provides lazy membership and can | 2658 Wrapper structure for generators that provides lazy membership and can |