comparison mercurial/revset.py @ 22482:2e40cda4b2c5

revset: use spanset.isdescending in multiple simple places We call the method directly instead of duplicating checks. Benchmarks show no performances harmed in the process.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 16 Sep 2014 23:37:03 -0700
parents 8488955127b0
children a21d04848359
comparison
equal deleted inserted replaced
22481:8488955127b0 22482:2e40cda4b2c5
2745 else: 2745 else:
2746 self._end = len(repo) 2746 self._end = len(repo)
2747 self._hiddenrevs = repo.changelog.filteredrevs 2747 self._hiddenrevs = repo.changelog.filteredrevs
2748 2748
2749 def ascending(self): 2749 def ascending(self):
2750 if self._start > self._end: 2750 if not self.isascending():
2751 self.reverse() 2751 self.reverse()
2752 2752
2753 def descending(self): 2753 def descending(self):
2754 if self._start < self._end: 2754 if not self.isdescending():
2755 self.reverse() 2755 self.reverse()
2756 2756
2757 def __iter__(self): 2757 def __iter__(self):
2758 if self._start <= self._end: 2758 if self.isascending():
2759 iterrange = xrange(self._start, self._end) 2759 iterrange = xrange(self._start, self._end)
2760 else: 2760 else:
2761 iterrange = xrange(self._start, self._end, -1) 2761 iterrange = xrange(self._start, self._end, -1)
2762 2762
2763 if self._hiddenrevs: 2763 if self._hiddenrevs:
2824 if bool(reverse) != (self._start > self._end): 2824 if bool(reverse) != (self._start > self._end):
2825 self.reverse() 2825 self.reverse()
2826 2826
2827 def reverse(self): 2827 def reverse(self):
2828 # Just switch the _start and _end parameters 2828 # Just switch the _start and _end parameters
2829 if self._start <= self._end: 2829 if self.isascending():
2830 self._start, self._end = self._end - 1, self._start - 1 2830 self._start, self._end = self._end - 1, self._start - 1
2831 else: 2831 else:
2832 self._start, self._end = self._end + 1, self._start + 1 2832 self._start, self._end = self._end + 1, self._start + 1
2833 2833
2834 def set(self): 2834 def set(self):