Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 20693:d04aac468bf4
revset: changed _children method to use lazy structures
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Tue, 11 Feb 2014 14:03:43 -0800 |
parents | 7af341082b76 |
children | 621c94378d0d |
comparison
equal
deleted
inserted
replaced
20692:7af341082b76 | 20693:d04aac468bf4 |
---|---|
538 return True | 538 return True |
539 | 539 |
540 return subset.filter(matches) | 540 return subset.filter(matches) |
541 | 541 |
542 def _children(repo, narrow, parentset): | 542 def _children(repo, narrow, parentset): |
543 cs = set() | |
544 if not parentset: | 543 if not parentset: |
545 return baseset(cs) | 544 return baseset([]) |
546 pr = repo.changelog.parentrevs | 545 pr = repo.changelog.parentrevs |
547 minrev = min(parentset) | 546 minrev = min(parentset) |
548 for r in narrow: | 547 |
549 if r <= minrev: | 548 def matches(x): |
550 continue | 549 if x <= minrev: |
551 for p in pr(r): | 550 return False |
551 for p in pr(x): | |
552 if p in parentset: | 552 if p in parentset: |
553 cs.add(r) | 553 return True |
554 return baseset(cs) | 554 |
555 return narrow.filter(matches) | |
555 | 556 |
556 def children(repo, subset, x): | 557 def children(repo, subset, x): |
557 """``children(set)`` | 558 """``children(set)`` |
558 Child changesets of changesets in set. | 559 Child changesets of changesets in set. |
559 """ | 560 """ |