mercurial/revsetlang.py
changeset 33415 371f59c6a89e
parent 33336 4672db164c98
child 33416 9467d5337292
equal deleted inserted replaced
33414:16ed67164002 33415:371f59c6a89e
   474         return smallbonus, x
   474         return smallbonus, x
   475     elif op in ('rangepre', 'rangepost', 'parentpost'):
   475     elif op in ('rangepre', 'rangepost', 'parentpost'):
   476         o = _optimize(x[1], small)
   476         o = _optimize(x[1], small)
   477         order = x[2]
   477         order = x[2]
   478         return o[0], (op, o[1], order)
   478         return o[0], (op, o[1], order)
   479     elif op in ('dagrange', 'range', 'parent', 'ancestor'):
   479     elif op in ('dagrange', 'range'):
   480         wa, ta = _optimize(x[1], small)
   480         wa, ta = _optimize(x[1], small)
   481         wb, tb = _optimize(x[2], small)
   481         wb, tb = _optimize(x[2], small)
   482         order = x[3]
   482         order = x[3]
   483         return wa + wb, (op, ta, tb, order)
   483         return wa + wb, (op, ta, tb, order)
       
   484     elif op in ('parent', 'ancestor'):
       
   485         w, t = _optimize(x[1], small)
       
   486         order = x[3]
       
   487         return w, (op, t, x[2], order)
   484     elif op == 'list':
   488     elif op == 'list':
   485         ws, ts = zip(*(_optimize(y, small) for y in x[1:]))
   489         ws, ts = zip(*(_optimize(y, small) for y in x[1:]))
   486         return sum(ws), (op,) + ts
   490         return sum(ws), (op,) + ts
   487     elif op == 'keyvalue':
   491     elif op == 'keyvalue':
   488         w, t = _optimize(x[2], small)
   492         w, t = _optimize(x[2], small)