diff -r 89cdebc31cda -r e967c3b08705 mercurial/revset.py --- a/mercurial/revset.py Sat Jun 28 01:42:39 2014 +0200 +++ b/mercurial/revset.py Sat Jul 12 00:31:36 2014 -0700 @@ -1867,7 +1867,7 @@ wb, tb = optimize(x[2], True) # (::x and not ::y)/(not ::y and ::x) have a fast path - def ismissingancestors(revs, bases): + def isonly(revs, bases): return ( revs[0] == 'func' and getstring(revs[1], _('not a symbol')) == 'ancestors' @@ -1876,12 +1876,10 @@ and getstring(bases[1][1], _('not a symbol')) == 'ancestors') w = min(wa, wb) - if ismissingancestors(ta, tb): - return w, ('func', ('symbol', '_missingancestors'), - ('list', ta[2], tb[1][2])) - if ismissingancestors(tb, ta): - return w, ('func', ('symbol', '_missingancestors'), - ('list', tb[2], ta[1][2])) + if isonly(ta, tb): + return w, ('func', ('symbol', 'only'), ('list', ta[2], tb[1][2])) + if isonly(tb, ta): + return w, ('func', ('symbol', 'only'), ('list', tb[2], ta[1][2])) if wa > wb: return w, (op, tb, ta)