Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revset.py @ 20709:71df845d86cf
revsets: backout d04aac468bf4 due to performance regressions
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 13 Mar 2014 14:34:32 -0500 |
parents | 17c89e5a5627 |
children | b95490cf8abd |
comparison
equal
deleted
inserted
replaced
20708:17c89e5a5627 | 20709:71df845d86cf |
---|---|
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() | |
543 if not parentset: | 544 if not parentset: |
544 return baseset([]) | 545 return baseset(cs) |
545 pr = repo.changelog.parentrevs | 546 pr = repo.changelog.parentrevs |
546 minrev = min(parentset) | 547 minrev = min(parentset) |
547 | 548 for r in narrow: |
548 def matches(x): | 549 if r <= minrev: |
549 if x <= minrev: | 550 continue |
550 return False | 551 for p in pr(r): |
551 for p in pr(x): | |
552 if p in parentset: | 552 if p in parentset: |
553 return True | 553 cs.add(r) |
554 | 554 return baseset(cs) |
555 return narrow.filter(matches) | |
556 | 555 |
557 def children(repo, subset, x): | 556 def children(repo, subset, x): |
558 """``children(set)`` | 557 """``children(set)`` |
559 Child changesets of changesets in set. | 558 Child changesets of changesets in set. |
560 """ | 559 """ |