equal
deleted
inserted
replaced
419 for r in s: |
419 for r in s: |
420 for p in markerbysubj.get(node(r), ()): |
420 for p in markerbysubj.get(node(r), ()): |
421 pr = nm.get(p[0]) |
421 pr = nm.get(p[0]) |
422 if pr is not None: |
422 if pr is not None: |
423 cs.add(pr) |
423 cs.add(pr) |
|
424 cs -= repo.changelog.filteredrevs # nodemap has no filtering |
424 return cs |
425 return cs |
425 |
426 |
426 def _allprecursors(repo, s): # XXX we need a better naming |
427 def _allprecursors(repo, s): # XXX we need a better naming |
427 """transitive precursors of a subset""" |
428 """transitive precursors of a subset""" |
428 node = repo.changelog.node |
429 node = repo.changelog.node |
513 def revsetprecursors(repo, subset, x): |
514 def revsetprecursors(repo, subset, x): |
514 """``precursors(set)`` |
515 """``precursors(set)`` |
515 Immediate precursors of changesets in set. |
516 Immediate precursors of changesets in set. |
516 """ |
517 """ |
517 s = revset.getset(repo, revset.fullreposet(repo), x) |
518 s = revset.getset(repo, revset.fullreposet(repo), x) |
518 cs = _precursors(repo, s) |
519 s = revset.baseset(_precursors(repo, s)) |
519 return [r for r in subset if r in cs] |
520 s.sort() |
|
521 return subset & s |
520 |
522 |
521 |
523 |
522 @eh.revset('allprecursors') |
524 @eh.revset('allprecursors') |
523 def revsetallprecursors(repo, subset, x): |
525 def revsetallprecursors(repo, subset, x): |
524 """``allprecursors(set)`` |
526 """``allprecursors(set)`` |