Mercurial > public > mercurial-scm > hg-stable
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)) |