revset: make commonancestors(x + x^) be ::(x^), not ::x stable
authorValentin Gatien-Baron <vgatien-baron@janestreet.com>
Tue, 25 Sep 2018 16:05:21 -0400
branchstable
changeset 39801 cb5134f2318a
parent 39800 572cd30eaffb
child 39802 3bc4fce0167f
revset: make commonancestors(x + x^) be ::(x^), not ::x Differential Revision: https://phab.mercurial-scm.org/D4738
mercurial/revset.py
tests/test-revset.t
--- a/mercurial/revset.py	Tue Sep 25 15:27:41 2018 -0400
+++ b/mercurial/revset.py	Tue Sep 25 16:05:21 2018 -0400
@@ -631,13 +631,11 @@
     in the repo (whereas we want "::x *and* ::y").
 
     """
-    # only wants the heads of the set passed in
-    h = heads(repo, fullreposet(repo), x, anyorder)
-    if not h:
+    startrevs = getset(repo, fullreposet(repo), x, order=anyorder)
+    if not startrevs:
         return baseset()
-    for r in h:
+    for r in startrevs:
         subset &= dagop.revancestors(repo, baseset([r]))
-
     return subset
 
 @predicate('contains(pattern)', weight=100)
--- a/tests/test-revset.t	Tue Sep 25 15:27:41 2018 -0400
+++ b/tests/test-revset.t	Tue Sep 25 16:05:21 2018 -0400
@@ -1069,7 +1069,6 @@
   2
   4
   8
-  9
 
 test ancestor variants of empty revision