Mercurial > hg
changeset 23162:69524a05a7fa
revset-rangeset: 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 benefit ofs the fullreposet:
revset) 10:100
before) wall 0.002774 comb 0.000000 user 0.000000 sys 0.000000 (best of 797)
after) wall 0.001977 comb 0.000000 user 0.000000 sys 0.000000 (best of 1244)
revset) parents(10):parents(100)
before) wall 0.005054 comb 0.000000 user 0.000000 sys 0.000000 (best of 481)
after) wall 0.002060 comb 0.000000 user 0.000000 sys 0.000000 (best of 1056)
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 16 Oct 2014 23:10:44 -0700 |
parents | 6f31f46b8544 |
children | 6f1b8b3f12fd |
files | mercurial/revset.py |
diffstat | 1 files changed, 2 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Sun Oct 19 22:19:22 2014 -0700 +++ b/mercurial/revset.py Thu Oct 16 23:10:44 2014 -0700 @@ -265,9 +265,8 @@ return stringset(repo, subset, x) def rangeset(repo, subset, x, y): - cl = baseset(repo.changelog) - m = getset(repo, cl, x) - n = getset(repo, cl, y) + m = getset(repo, fullreposet(repo), x) + n = getset(repo, fullreposet(repo), y) if not m or not n: return baseset()