hgext/evolve.py
branchstable
changeset 1383 cf62abb62941
parent 1382 c431f827f366
child 1384 64c8b8c27811
equal deleted inserted replaced
1382:c431f827f366 1383:cf62abb62941
   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)``