mercurial/revset.py
changeset 20693 d04aac468bf4
parent 20692 7af341082b76
child 20694 621c94378d0d
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     """