Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 20720:5f8400efca0b
revset: added cached generated list to addset
This way when all the values have been generated the list can be sorted
without having to generate them all again.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Tue, 11 Mar 2014 16:59:42 -0700 |
parents | cce8fbedc82a |
children | d642f176df52 |
comparison
equal
deleted
inserted
replaced
20719:cce8fbedc82a | 20720:5f8400efca0b |
---|---|
2329 def __init__(self, revs1, revs2, ascending=None): | 2329 def __init__(self, revs1, revs2, ascending=None): |
2330 self._r1 = revs1 | 2330 self._r1 = revs1 |
2331 self._r2 = revs2 | 2331 self._r2 = revs2 |
2332 self._iter = None | 2332 self._iter = None |
2333 self._ascending = ascending | 2333 self._ascending = ascending |
2334 self._genlist = None | |
2335 | |
2336 @util.propertycache | |
2337 def _list(self): | |
2338 if not self._genlist: | |
2339 self._genlist = baseset(self._iterator()) | |
2340 return self._genlist | |
2334 | 2341 |
2335 def _iterator(self): | 2342 def _iterator(self): |
2336 if not self._iter: | 2343 if not self._iter: |
2337 def gen(): | 2344 def gen(): |
2338 for r in self._r1: | 2345 for r in self._r1: |