Mercurial > hg
changeset 21893:e967c3b08705
revset: replace _missingancestors optimization with only revset
(::a - ::b) is equivalent to only(a, b).
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sat, 12 Jul 2014 00:31:36 -0700 |
parents | 89cdebc31cda |
children | 1000348b3aea |
files | mercurial/revset.py tests/test-revset.t |
diffstat | 2 files changed, 10 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- a/tests/test-revset.t Sat Jun 28 01:42:39 2014 +0200 +++ b/tests/test-revset.t Sat Jul 12 00:31:36 2014 -0700 @@ -562,7 +562,7 @@ 5 8 -check that conversion to _missingancestors works +check that conversion to only works $ try --optimize '::3 - ::1' (minus (dagrangepre @@ -571,7 +571,7 @@ ('symbol', '1'))) * optimized: (func - ('symbol', '_missingancestors') + ('symbol', 'only') (list ('symbol', '3') ('symbol', '1'))) @@ -586,7 +586,7 @@ ('symbol', '3'))) * optimized: (func - ('symbol', '_missingancestors') + ('symbol', 'only') (list ('symbol', '1') ('symbol', '3'))) @@ -599,7 +599,7 @@ ('symbol', '6'))) * optimized: (func - ('symbol', '_missingancestors') + ('symbol', 'only') (list ('symbol', '6') ('symbol', '2'))) @@ -618,7 +618,7 @@ ('symbol', '4')))) * optimized: (func - ('symbol', '_missingancestors') + ('symbol', 'only') (list ('symbol', '6') ('symbol', '4')))