equal
deleted
inserted
replaced
456 for p in markerbyobj.get(node(r), ()): |
456 for p in markerbyobj.get(node(r), ()): |
457 for sub in p[1]: |
457 for sub in p[1]: |
458 sr = nm.get(sub) |
458 sr = nm.get(sub) |
459 if sr is not None: |
459 if sr is not None: |
460 cs.add(sr) |
460 cs.add(sr) |
|
461 cs -= repo.changelog.filteredrevs # nodemap has no filtering |
461 return cs |
462 return cs |
462 |
463 |
463 def _allsuccessors(repo, s, haltonflags=0): # XXX we need a better naming |
464 def _allsuccessors(repo, s, haltonflags=0): # XXX we need a better naming |
464 """transitive successors of a subset |
465 """transitive successors of a subset |
465 |
466 |
537 def revsetsuccessors(repo, subset, x): |
538 def revsetsuccessors(repo, subset, x): |
538 """``successors(set)`` |
539 """``successors(set)`` |
539 Immediate successors of changesets in set. |
540 Immediate successors of changesets in set. |
540 """ |
541 """ |
541 s = revset.getset(repo, revset.fullreposet(repo), x) |
542 s = revset.getset(repo, revset.fullreposet(repo), x) |
542 cs = _successors(repo, s) |
543 s = revset.baseset(_successors(repo, s)) |
543 return [r for r in subset if r in cs] |
544 s.sort() |
|
545 return subset & s |
544 |
546 |
545 @eh.revset('allsuccessors') |
547 @eh.revset('allsuccessors') |
546 def revsetallsuccessors(repo, subset, x): |
548 def revsetallsuccessors(repo, subset, x): |
547 """``allsuccessors(set)`` |
549 """``allsuccessors(set)`` |
548 Transitive successors of changesets in set. |
550 Transitive successors of changesets in set. |