equal
deleted
inserted
replaced
2491 |
2491 |
2492 def parse(spec, lookup=None): |
2492 def parse(spec, lookup=None): |
2493 p = parser.parser(tokenize, elements) |
2493 p = parser.parser(tokenize, elements) |
2494 return p.parse(spec, lookup=lookup) |
2494 return p.parse(spec, lookup=lookup) |
2495 |
2495 |
|
2496 def posttreebuilthook(tree, repo): |
|
2497 # hook for extensions to execute code on the optimized tree |
|
2498 pass |
|
2499 |
2496 def match(ui, spec, repo=None): |
2500 def match(ui, spec, repo=None): |
2497 if not spec: |
2501 if not spec: |
2498 raise error.ParseError(_("empty query")) |
2502 raise error.ParseError(_("empty query")) |
2499 lookup = None |
2503 lookup = None |
2500 if repo: |
2504 if repo: |
2504 raise error.ParseError(_("invalid token"), pos) |
2508 raise error.ParseError(_("invalid token"), pos) |
2505 if ui: |
2509 if ui: |
2506 tree = findaliases(ui, tree, showwarning=ui.warn) |
2510 tree = findaliases(ui, tree, showwarning=ui.warn) |
2507 tree = foldconcat(tree) |
2511 tree = foldconcat(tree) |
2508 weight, tree = optimize(tree, True) |
2512 weight, tree = optimize(tree, True) |
|
2513 posttreebuilthook(tree, repo) |
2509 def mfunc(repo, subset=None): |
2514 def mfunc(repo, subset=None): |
2510 if subset is None: |
2515 if subset is None: |
2511 subset = fullreposet(repo) |
2516 subset = fullreposet(repo) |
2512 if util.safehasattr(subset, 'isascending'): |
2517 if util.safehasattr(subset, 'isascending'): |
2513 result = getset(repo, subset, tree) |
2518 result = getset(repo, subset, tree) |