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.
--- a/mercurial/revset.py Sun Aug 24 17:40:27 2014 -0400
+++ b/mercurial/revset.py Wed Sep 17 04:55:55 2014 -0700
@@ -1242,7 +1242,7 @@
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``
--- a/tests/test-revset.t Sun Aug 24 17:40:27 2014 -0400
+++ b/tests/test-revset.t Wed Sep 17 04:55:55 2014 -0700
@@ -567,10 +567,10 @@
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'