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)
--- a/mercurial/revset.py Thu Oct 16 23:11:25 2014 -0700
+++ b/mercurial/revset.py Thu Oct 16 23:14:17 2014 -0700
@@ -572,7 +572,7 @@
"""``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