# HG changeset patch # User Pierre-Yves David # Date 1434669328 25200 # Node ID b5eaec8a53d0dc6792c7f85f9cc0f9e93a554b27 # Parent c2584407afbf7443151bdfe94a4e25725fdbd532 evolve: move 'allsuccessors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that. diff -r c2584407afbf -r b5eaec8a53d0 hgext/evolve.py --- a/hgext/evolve.py Thu Jun 18 16:15:21 2015 -0700 +++ b/hgext/evolve.py Thu Jun 18 16:15:28 2015 -0700 @@ -487,6 +487,7 @@ sr = nm.get(s) if sr is not None: cs.add(sr) + cs -= repo.changelog.filteredrevs # nodemap has no filtering return cs @@ -550,8 +551,9 @@ Transitive successors of changesets in set. """ s = revset.getset(repo, revset.fullreposet(repo), x) - cs = _allsuccessors(repo, s) - return [r for r in subset if r in cs] + s = revset.baseset(_allsuccessors(repo, s)) + s.sort() + return subset & s ### template keywords # XXX it does not handle troubles well :-/