revset-children: call 'getset' on a 'fullreposet'
authorPierre-Yves David <pierre-yves.david@fb.com>
Thu, 16 Oct 2014 23:14:17 -0700
changeset 23164 7a42e5d4c418
parent 23163 6f1b8b3f12fd
child 23165 7e8737e6ab08
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)
mercurial/revset.py
--- 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