# HG changeset patch # User Pierre-Yves David # Date 1410976809 25200 # Node ID bbf4f3dfd700256f186315d2996b74fe1ccae370 # Parent 8040a44aab1cecec36a3fb33a3a21871a98fc47f revset: use `subset &` in `rev` This takes advantage of the `fullreposet` smartness and yields a nice speedup. revset #0: rev(25) 0) wall 0.005480 comb 0.000000 user 0.000000 sys 0.000000 (best of 305) 1) wall 0.000052 comb 0.000000 user 0.000000 sys 0.000000 (best of 21891) diff -r 8040a44aab1c -r bbf4f3dfd700 mercurial/revset.py --- a/mercurial/revset.py Wed Sep 17 19:52:34 2014 -0700 +++ b/mercurial/revset.py Wed Sep 17 11:00:09 2014 -0700 @@ -1346,7 +1346,7 @@ except (TypeError, ValueError): # i18n: "rev" is a keyword raise error.ParseError(_("rev expects a number")) - return subset.filter(lambda r: r == l) + return subset & baseset([l]) def matching(repo, subset, x): """``matching(revision [, field])``