# HG changeset patch # User Pierre-Yves David # Date 2014-09-17 18:00:03 # Node ID 6f434ef5422269dc95c315ccb899ef4d5b3c38b8 # Parent a428db9ab61ddd870983eda1e0bf4d328c7b32c0 revset: use `subset &` in bare `p2()` This takes advantage of the `fullreposet` smartness with a nice speedup. It's a similar speedup to `p1()` when a merge is in progress (the non merge case is already lightning fast anyway.) diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -1217,7 +1217,9 @@ def p2(repo, subset, x): ps = repo[x].parents() try: p = ps[1].rev() - return subset.filter(lambda r: r == p) + if p >= 0: + return subset & baseset([p]) + return baseset([]) except IndexError: return baseset([])