comparison mercurial/revset.py @ 25130:a94ef7f517e0

revset: use fastasc/fastdesc switch consistently in addset.__iter__
author Yuya Nishihara <yuya@tcha.org>
date Sat, 16 May 2015 14:05:02 +0900
parents 40a2cf1c765b
children adfe4d9680bf
comparison
equal deleted inserted replaced
25129:40a2cf1c765b 25130:a94ef7f517e0
3045 yield r 3045 yield r
3046 return arbitraryordergen() 3046 return arbitraryordergen()
3047 # try to use our own fast iterator if it exists 3047 # try to use our own fast iterator if it exists
3048 self._trysetasclist() 3048 self._trysetasclist()
3049 if self._ascending: 3049 if self._ascending:
3050 it = self.fastasc 3050 attr = 'fastasc'
3051 else: 3051 else:
3052 it = self.fastdesc 3052 attr = 'fastdesc'
3053 it = getattr(self, attr)
3053 if it is not None: 3054 if it is not None:
3054 return it() 3055 return it()
3055 # maybe half of the component supports fast 3056 # maybe half of the component supports fast
3056 attr = 'fastdesc'
3057 if self._ascending:
3058 attr = 'fastasc'
3059 # get iterator for _r1 3057 # get iterator for _r1
3060 iter1 = getattr(self._r1, attr) 3058 iter1 = getattr(self._r1, attr)
3061 if iter1 is None: 3059 if iter1 is None:
3062 # let's avoid side effect (not sure it matters) 3060 # let's avoid side effect (not sure it matters)
3063 iter1 = iter(sorted(self._r1, reverse=not self._ascending)) 3061 iter1 = iter(sorted(self._r1, reverse=not self._ascending))