Show More
@@ -276,7 +276,8 b' def _search(web):' | |||
|
276 | 276 | if not funcsused.issubset(revset.safesymbols): |
|
277 | 277 | return MODE_KEYWORD, query |
|
278 | 278 | |
|
279 |
mfunc = revset.match(web.repo.ui, revdef, |
|
|
279 | mfunc = revset.match(web.repo.ui, revdef, | |
|
280 | lookup=revset.lookupfn(web.repo)) | |
|
280 | 281 | try: |
|
281 | 282 | revs = mfunc(web.repo) |
|
282 | 283 | return MODE_REVSET, revs |
@@ -905,7 +905,8 b' class localrepository(object):' | |||
|
905 | 905 | ``{name: definitionstring}``. |
|
906 | 906 | ''' |
|
907 | 907 | if user: |
|
908 |
m = revset.matchany(self.ui, specs, |
|
|
908 | m = revset.matchany(self.ui, specs, | |
|
909 | lookup=revset.lookupfn(self), | |
|
909 | 910 | localalias=localalias) |
|
910 | 911 | else: |
|
911 | 912 | m = revset.matchany(None, specs, localalias=localalias) |
@@ -2169,14 +2169,17 b' methods = {' | |||
|
2169 | 2169 | def lookupfn(repo): |
|
2170 | 2170 | return lambda symbol: scmutil.isrevsymbol(repo, symbol) |
|
2171 | 2171 | |
|
2172 |
def match(ui, spec, |
|
|
2172 | def match(ui, spec, lookup=None): | |
|
2173 | 2173 | """Create a matcher for a single revision spec""" |
|
2174 |
return matchany(ui, [spec], |
|
|
2174 | return matchany(ui, [spec], lookup=None) | |
|
2175 | 2175 | |
|
2176 |
def matchany(ui, specs, |
|
|
2176 | def matchany(ui, specs, lookup=None, localalias=None): | |
|
2177 | 2177 | """Create a matcher that will include any revisions matching one of the |
|
2178 | 2178 | given specs |
|
2179 | 2179 | |
|
2180 | If lookup function is not None, the parser will first attempt to handle | |
|
2181 | old-style ranges, which may contain operator characters. | |
|
2182 | ||
|
2180 | 2183 | If localalias is not None, it is a dict {name: definitionstring}. It takes |
|
2181 | 2184 | precedence over [revsetalias] config section. |
|
2182 | 2185 | """ |
@@ -2186,9 +2189,6 b' def matchany(ui, specs, repo=None, local' | |||
|
2186 | 2189 | return mfunc |
|
2187 | 2190 | if not all(specs): |
|
2188 | 2191 | raise error.ParseError(_("empty query")) |
|
2189 | lookup = None | |
|
2190 | if repo: | |
|
2191 | lookup = lookupfn(repo) | |
|
2192 | 2192 | if len(specs) == 1: |
|
2193 | 2193 | tree = revsetlang.parse(specs[0], lookup) |
|
2194 | 2194 | else: |
@@ -522,7 +522,7 b' def revset(context, mapping, args):' | |||
|
522 | 522 | repo = ctx.repo() |
|
523 | 523 | |
|
524 | 524 | def query(expr): |
|
525 |
m = revsetmod.match(repo.ui, expr, |
|
|
525 | m = revsetmod.match(repo.ui, expr, lookup=revsetmod.lookupfn(repo)) | |
|
526 | 526 | return m(repo) |
|
527 | 527 | |
|
528 | 528 | if len(args) > 1: |
@@ -60,7 +60,7 b" these predicates use '\\0' as a separator" | |||
|
60 | 60 | > opttree = revsetlang.optimize(revsetlang.analyze(tree)) |
|
61 | 61 | > ui.note(b"* optimized:\n", revsetlang.prettyformat(opttree), |
|
62 | 62 | > b"\n") |
|
63 | > func = revset.match(ui, expr, repo) | |
|
63 | > func = revset.match(ui, expr, lookup=revset.lookupfn(repo)) | |
|
64 | 64 | > revs = func(repo) |
|
65 | 65 | > if ui.verbose: |
|
66 | 66 | > ui.note(b"* set:\n", smartset.prettyformat(revs), b"\n") |
General Comments 0
You need to be logged in to leave comments.
Login now