# HG changeset patch # User Matt Mackall # Date 2014-03-13 19:34:32 # Node ID 71df845d86cf370db08572cf92632b2c9ef64f6b # Parent 17c89e5a5627a1834eceb366304ca15ddbcf071d revsets: backout d04aac468bf4 due to performance regressions diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -540,19 +540,18 @@ def checkstatus(repo, subset, pat, field return subset.filter(matches) def _children(repo, narrow, parentset): + cs = set() if not parentset: - return baseset([]) + return baseset(cs) pr = repo.changelog.parentrevs minrev = min(parentset) - - def matches(x): - if x <= minrev: - return False - for p in pr(x): + for r in narrow: + if r <= minrev: + continue + for p in pr(r): if p in parentset: - return True - - return narrow.filter(matches) + cs.add(r) + return baseset(cs) def children(repo, subset, x): """``children(set)``