Show More
@@ -380,6 +380,10 b' def rangeset(repo, subset, x, y, order):' | |||||
380 | return baseset() |
|
380 | return baseset() | |
381 | return _makerangeset(repo, subset, m.first(), n.last(), order) |
|
381 | return _makerangeset(repo, subset, m.first(), n.last(), order) | |
382 |
|
382 | |||
|
383 | def rangeall(repo, subset, x, order): | |||
|
384 | assert x is None | |||
|
385 | return _makerangeset(repo, subset, 0, len(repo) - 1, order) | |||
|
386 | ||||
383 | def rangepre(repo, subset, y, order): |
|
387 | def rangepre(repo, subset, y, order): | |
384 | # ':y' can't be rewritten to '0:y' since '0' may be hidden |
|
388 | # ':y' can't be rewritten to '0:y' since '0' may be hidden | |
385 | n = getset(repo, fullreposet(repo), y) |
|
389 | n = getset(repo, fullreposet(repo), y) | |
@@ -387,6 +391,12 b' def rangepre(repo, subset, y, order):' | |||||
387 | return baseset() |
|
391 | return baseset() | |
388 | return _makerangeset(repo, subset, 0, n.last(), order) |
|
392 | return _makerangeset(repo, subset, 0, n.last(), order) | |
389 |
|
393 | |||
|
394 | def rangepost(repo, subset, x, order): | |||
|
395 | m = getset(repo, fullreposet(repo), x) | |||
|
396 | if not m: | |||
|
397 | return baseset() | |||
|
398 | return _makerangeset(repo, subset, m.first(), len(repo) - 1, order) | |||
|
399 | ||||
390 | def _makerangeset(repo, subset, m, n, order): |
|
400 | def _makerangeset(repo, subset, m, n, order): | |
391 | if m == n: |
|
401 | if m == n: | |
392 | r = baseset([m]) |
|
402 | r = baseset([m]) | |
@@ -2385,7 +2395,9 b' def _hexlist(repo, subset, x, order):' | |||||
2385 |
|
2395 | |||
2386 | methods = { |
|
2396 | methods = { | |
2387 | "range": rangeset, |
|
2397 | "range": rangeset, | |
|
2398 | "rangeall": rangeall, | |||
2388 | "rangepre": rangepre, |
|
2399 | "rangepre": rangepre, | |
|
2400 | "rangepost": rangepost, | |||
2389 | "dagrange": dagrange, |
|
2401 | "dagrange": dagrange, | |
2390 | "string": stringset, |
|
2402 | "string": stringset, | |
2391 | "symbol": stringset, |
|
2403 | "symbol": stringset, | |
@@ -2500,10 +2512,6 b' def _analyze(x, order):' | |||||
2500 | return _analyze(('func', ('symbol', 'ancestors'), x[1]), order) |
|
2512 | return _analyze(('func', ('symbol', 'ancestors'), x[1]), order) | |
2501 | elif op == 'dagrangepost': |
|
2513 | elif op == 'dagrangepost': | |
2502 | return _analyze(('func', ('symbol', 'descendants'), x[1]), order) |
|
2514 | return _analyze(('func', ('symbol', 'descendants'), x[1]), order) | |
2503 | elif op == 'rangeall': |
|
|||
2504 | return _analyze(('rangepre', ('string', 'tip')), order) |
|
|||
2505 | elif op == 'rangepost': |
|
|||
2506 | return _analyze(('range', x[1], ('string', 'tip')), order) |
|
|||
2507 | elif op == 'negate': |
|
2515 | elif op == 'negate': | |
2508 | s = getstring(x[1], _("can't negate that")) |
|
2516 | s = getstring(x[1], _("can't negate that")) | |
2509 | return _analyze(('string', '-' + s), order) |
|
2517 | return _analyze(('string', '-' + s), order) | |
@@ -2517,7 +2525,9 b' def _analyze(x, order):' | |||||
2517 | return (op, _analyze(x[1], order), order) |
|
2525 | return (op, _analyze(x[1], order), order) | |
2518 | elif op == 'not': |
|
2526 | elif op == 'not': | |
2519 | return (op, _analyze(x[1], anyorder), order) |
|
2527 | return (op, _analyze(x[1], anyorder), order) | |
2520 |
elif op |
|
2528 | elif op == 'rangeall': | |
|
2529 | return (op, None, order) | |||
|
2530 | elif op in ('rangepre', 'rangepost', 'parentpost'): | |||
2521 | return (op, _analyze(x[1], defineorder), order) |
|
2531 | return (op, _analyze(x[1], defineorder), order) | |
2522 | elif op == 'group': |
|
2532 | elif op == 'group': | |
2523 | return _analyze(x[1], order) |
|
2533 | return _analyze(x[1], order) | |
@@ -2622,7 +2632,9 b' def _optimize(x, small):' | |||||
2622 | o = _optimize(x[1], not small) |
|
2632 | o = _optimize(x[1], not small) | |
2623 | order = x[2] |
|
2633 | order = x[2] | |
2624 | return o[0], (op, o[1], order) |
|
2634 | return o[0], (op, o[1], order) | |
2625 |
elif op |
|
2635 | elif op == 'rangeall': | |
|
2636 | return smallbonus, x | |||
|
2637 | elif op in ('rangepre', 'rangepost', 'parentpost'): | |||
2626 | o = _optimize(x[1], small) |
|
2638 | o = _optimize(x[1], small) | |
2627 | order = x[2] |
|
2639 | order = x[2] | |
2628 | return o[0], (op, o[1], order) |
|
2640 | return o[0], (op, o[1], order) |
@@ -161,8 +161,8 b' trivial' | |||||
161 | (rangeall |
|
161 | (rangeall | |
162 | None) |
|
162 | None) | |
163 | * optimized: |
|
163 | * optimized: | |
164 |
(range |
|
164 | (rangeall | |
165 | ('string', 'tip') |
|
165 | None | |
166 | define) |
|
166 | define) | |
167 | * set: |
|
167 | * set: | |
168 | <spanset+ 0:9> |
|
168 | <spanset+ 0:9> | |
@@ -619,8 +619,8 b' may be hidden (issue5385)' | |||||
619 | (rangeall |
|
619 | (rangeall | |
620 | None) |
|
620 | None) | |
621 | * analyzed: |
|
621 | * analyzed: | |
622 |
(range |
|
622 | (rangeall | |
623 | ('string', 'tip') |
|
623 | None | |
624 | define) |
|
624 | define) | |
625 | * set: |
|
625 | * set: | |
626 | <spanset+ 0:9> |
|
626 | <spanset+ 0:9> |
General Comments 0
You need to be logged in to leave comments.
Login now