# HG changeset patch # User Pierre-Yves David # Date 2014-10-17 06:14:17 # Node ID 7a42e5d4c418a9910c35d29455dbbe468d5453a3 # Parent 6f1b8b3f12fd2cb4d956bd2f3b73daab6fcc73c2 revset-children: call 'getset' on a 'fullreposet' Calling 'baseset(repo.changelog)' builds a list for all revisions in the repo. And we already have the lazy and efficient 'fullreposet' class for this purpose. This gives us the usual benefits of the fullreposet: revset) children(tip~100) before) wall 0.007469 comb 0.010000 user 0.010000 sys 0.000000 (best of 338) after) wall 0.003356 comb 0.000000 user 0.000000 sys 0.000000 (best of 755) diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -572,7 +572,7 @@ def children(repo, subset, x): """``children(set)`` Child changesets of changesets in set. """ - s = getset(repo, baseset(repo), x) + s = getset(repo, fullreposet(repo), x) cs = _children(repo, subset, s) return subset & cs