Mercurial > hg
comparison mercurial/revset.py @ 25251:235f6490550c
revset: move validation of incomplete parsing to parse() function
revset.parse() should be responsible for all parsing errors. Perhaps it wasn't
because 'revset.parse' was not a real function when the validation code was
added at ffcb7e4d719f.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 26 Apr 2015 19:42:47 +0900 |
parents | 57fae767c52b |
children | 3f1a9b44b8c2 |
comparison
equal
deleted
inserted
replaced
25250:f9a29dc964a3 | 25251:235f6490550c |
---|---|
2507 else: | 2507 else: |
2508 return tuple(foldconcat(t) for t in tree) | 2508 return tuple(foldconcat(t) for t in tree) |
2509 | 2509 |
2510 def parse(spec, lookup=None): | 2510 def parse(spec, lookup=None): |
2511 p = parser.parser(tokenize, elements) | 2511 p = parser.parser(tokenize, elements) |
2512 return p.parse(spec, lookup=lookup) | 2512 tree, pos = p.parse(spec, lookup=lookup) |
2513 if pos != len(spec): | |
2514 raise error.ParseError(_("invalid token"), pos) | |
2515 return tree | |
2513 | 2516 |
2514 def posttreebuilthook(tree, repo): | 2517 def posttreebuilthook(tree, repo): |
2515 # hook for extensions to execute code on the optimized tree | 2518 # hook for extensions to execute code on the optimized tree |
2516 pass | 2519 pass |
2517 | 2520 |
2519 if not spec: | 2522 if not spec: |
2520 raise error.ParseError(_("empty query")) | 2523 raise error.ParseError(_("empty query")) |
2521 lookup = None | 2524 lookup = None |
2522 if repo: | 2525 if repo: |
2523 lookup = repo.__contains__ | 2526 lookup = repo.__contains__ |
2524 tree, pos = parse(spec, lookup) | 2527 tree = parse(spec, lookup) |
2525 if (pos != len(spec)): | |
2526 raise error.ParseError(_("invalid token"), pos) | |
2527 if ui: | 2528 if ui: |
2528 tree = findaliases(ui, tree, showwarning=ui.warn) | 2529 tree = findaliases(ui, tree, showwarning=ui.warn) |
2529 tree = foldconcat(tree) | 2530 tree = foldconcat(tree) |
2530 weight, tree = optimize(tree, True) | 2531 weight, tree = optimize(tree, True) |
2531 posttreebuilthook(tree, repo) | 2532 posttreebuilthook(tree, repo) |