comparison mercurial/revset.py @ 25819:be29d26e2949

revset: parse nullary ":" operator as "0:tip" This is necessary for compatibility with the old-style parser that will be removed by future patches.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 05 Jul 2015 12:15:54 +0900
parents e71e5629e006
children 5214cbdc37e5 4f703dcc626f
comparison
equal deleted inserted replaced
25818:455190fb4e51 25819:be29d26e2949
123 "-": (5, None, ("negate", 19), ("minus", 5), None), 123 "-": (5, None, ("negate", 19), ("minus", 5), None),
124 "::": (17, None, ("dagrangepre", 17), ("dagrange", 17), 124 "::": (17, None, ("dagrangepre", 17), ("dagrange", 17),
125 ("dagrangepost", 17)), 125 ("dagrangepost", 17)),
126 "..": (17, None, ("dagrangepre", 17), ("dagrange", 17), 126 "..": (17, None, ("dagrangepre", 17), ("dagrange", 17),
127 ("dagrangepost", 17)), 127 ("dagrangepost", 17)),
128 ":": (15, None, ("rangepre", 15), ("range", 15), ("rangepost", 15)), 128 ":": (15, "rangeall", ("rangepre", 15), ("range", 15), ("rangepost", 15)),
129 "not": (10, None, ("not", 10), None, None), 129 "not": (10, None, ("not", 10), None, None),
130 "!": (10, None, ("not", 10), None, None), 130 "!": (10, None, ("not", 10), None, None),
131 "and": (5, None, None, ("and", 5), None), 131 "and": (5, None, None, ("and", 5), None),
132 "&": (5, None, None, ("and", 5), None), 132 "&": (5, None, None, ("and", 5), None),
133 "%": (5, None, None, ("only", 5), ("onlypost", 5)), 133 "%": (5, None, None, ("only", 5), ("onlypost", 5)),
2225 return optimize(('func', ('symbol', 'only'), x[1]), small) 2225 return optimize(('func', ('symbol', 'only'), x[1]), small)
2226 elif op == 'dagrangepre': 2226 elif op == 'dagrangepre':
2227 return optimize(('func', ('symbol', 'ancestors'), x[1]), small) 2227 return optimize(('func', ('symbol', 'ancestors'), x[1]), small)
2228 elif op == 'dagrangepost': 2228 elif op == 'dagrangepost':
2229 return optimize(('func', ('symbol', 'descendants'), x[1]), small) 2229 return optimize(('func', ('symbol', 'descendants'), x[1]), small)
2230 elif op == 'rangeall':
2231 return optimize(('range', ('string', '0'), ('string', 'tip')), small)
2230 elif op == 'rangepre': 2232 elif op == 'rangepre':
2231 return optimize(('range', ('string', '0'), x[1]), small) 2233 return optimize(('range', ('string', '0'), x[1]), small)
2232 elif op == 'rangepost': 2234 elif op == 'rangepost':
2233 return optimize(('range', x[1], ('string', 'tip')), small) 2235 return optimize(('range', x[1], ('string', 'tip')), small)
2234 elif op == 'negate': 2236 elif op == 'negate':