Mercurial > hg
changeset 29770:9c51a5de76db
revset: also parse x^: as (x^):
Given x^:y is (x^):y, this seems sensible.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 06 Aug 2016 20:37:48 +0900 |
parents | abe4eecc3253 |
children | 98976e3cae57 |
files | mercurial/revset.py tests/test-revset.t |
diffstat | 2 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Sat Aug 06 20:21:00 2016 +0900 +++ b/mercurial/revset.py Sat Aug 06 20:37:48 2016 +0900 @@ -2323,11 +2323,14 @@ op = x[0] if op == 'parent': # x^:y means (x^) : y, not x ^ (:y) + # x^: means (x^) :, not x ^ (:) post = ('parentpost', x[1]) if x[2][0] == 'dagrangepre': return _fixops(('dagrange', post, x[2][1])) elif x[2][0] == 'rangepre': return _fixops(('range', post, x[2][1])) + elif x[2][0] == 'rangeall': + return _fixops(('rangepost', post)) return (op,) + tuple(_fixops(y) for y in x[1:])
--- a/tests/test-revset.t Sat Aug 06 20:21:00 2016 +0900 +++ b/tests/test-revset.t Sat Aug 06 20:37:48 2016 +0900 @@ -504,6 +504,15 @@ 1 2 + $ try '9^:' + (rangepost + (parentpost + ('symbol', '9'))) + * set: + <spanset+ 8:9> + 8 + 9 + x^:y should be resolved before omitting group operators $ try '1^(:2)' @@ -560,6 +569,22 @@ 1 2 + $ try '(9^:)^:' + (rangepost + (parentpost + (group + (rangepost + (parentpost + ('symbol', '9')))))) + * set: + <spanset+ 4:9> + 4 + 5 + 6 + 7 + 8 + 9 + x^ in alias should also be resolved $ try 'A' --config 'revsetalias.A=1^:2'