diff mercurial/revset.py @ 39801:cb5134f2318a stable

revset: make commonancestors(x + x^) be ::(x^), not ::x Differential Revision: https://phab.mercurial-scm.org/D4738
author Valentin Gatien-Baron <vgatien-baron@janestreet.com>
date Tue, 25 Sep 2018 16:05:21 -0400
parents e4b270a32ba8
children 3bc4fce0167f
line wrap: on
line diff
--- 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)