# HG changeset patch # User Pierre-Yves David # Date 2014-09-17 11:55:55 # Node ID 093df3b77f27c1d83bdeec577ad4bc2c1e7bda53 # Parent 60ac52a2151202e0910ddced56b010009233b675 revert: bring back usage of `subset & ps` in `parents` Changeset 95af98616aa7 switched the order of the operand of the "&" computation to work around an issue from repo-wide spanset. The need for a workaround has been alleviated by the introduction of `fullreposet`. So we restore it to normal. The benchmark shows no significant changes as expected. We also revert the bogus test change introduced by 95af98616aa7. The order is actually important. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -1242,7 +1242,7 @@ def parents(repo, subset, x): for r in getset(repo, spanset(repo), x): ps.update(cl.parentrevs(r)) ps -= set([node.nullrev]) - return baseset(ps) & subset + return subset & ps def parentspec(repo, subset, x, n): """``set^0`` diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -567,10 +567,10 @@ test subtracting something from an addse test intersecting something with an addset $ log 'parents(outgoing() or removes(a))' - 8 1 4 5 + 8 check that conversion to only works $ try --optimize '::3 - ::1'