diff -r f99d64e8a4e4 -r f0b6fbea00cf mercurial/revset.py --- a/mercurial/revset.py Thu Mar 22 21:19:31 2018 +0900 +++ b/mercurial/revset.py Thu Mar 22 21:56:20 2018 +0900 @@ -31,7 +31,10 @@ stack, util, ) -from .utils import dateutil +from .utils import ( + dateutil, + stringutil, +) # helpers for processing parsed tree getsymbol = revsetlang.getsymbol @@ -447,7 +450,7 @@ bm = getstring(args[0], # i18n: "bookmark" is a keyword _('the argument to bookmark must be a string')) - kind, pattern, matcher = util.stringmatcher(bm) + kind, pattern, matcher = stringutil.stringmatcher(bm) bms = set() if kind == 'literal': bmrev = repo._bookmarks.get(pattern, None) @@ -492,7 +495,7 @@ # not a string, but another revspec, e.g. tip() pass else: - kind, pattern, matcher = util.stringmatcher(b) + kind, pattern, matcher = stringutil.stringmatcher(b) if kind == 'literal': # note: falls through to the revspec case if no branch with # this name exists and pattern kind is not specified explicitly @@ -819,7 +822,7 @@ # i18n: "extra" is a keyword value = getstring(args['value'], _('second argument to extra must be ' 'a string')) - kind, value, matcher = util.stringmatcher(value) + kind, value, matcher = stringutil.stringmatcher(value) def _matchvalue(r): extra = repo[r].extra() @@ -1014,7 +1017,7 @@ gr = re.compile(getstring(x, _("grep requires a string"))) except re.error as e: raise error.ParseError( - _('invalid match pattern: %s') % util.forcebytestr(e)) + _('invalid match pattern: %s') % stringutil.forcebytestr(e)) def matches(x): c = repo[x] @@ -1286,7 +1289,7 @@ ns = getstring(args[0], # i18n: "named" is a keyword _('the argument to named must be a string')) - kind, pattern, matcher = util.stringmatcher(ns) + kind, pattern, matcher = stringutil.stringmatcher(ns) namespaces = set() if kind == 'literal': if pattern not in repo.names: @@ -1942,7 +1945,7 @@ m = matchmod.exact(repo.root, repo.root, ['.hgsubstate']) def submatches(names): - k, p, m = util.stringmatcher(pat) + k, p, m = stringutil.stringmatcher(pat) for name in names: if m(name): yield name @@ -1995,8 +1998,8 @@ return subset & d def _substringmatcher(pattern, casesensitive=True): - kind, pattern, matcher = util.stringmatcher(pattern, - casesensitive=casesensitive) + kind, pattern, matcher = stringutil.stringmatcher( + pattern, casesensitive=casesensitive) if kind == 'literal': if not casesensitive: pattern = encoding.lower(pattern) @@ -2019,7 +2022,7 @@ pattern = getstring(args[0], # i18n: "tag" is a keyword _('the argument to tag must be a string')) - kind, pattern, matcher = util.stringmatcher(pattern) + kind, pattern, matcher = stringutil.stringmatcher(pattern) if kind == 'literal': # avoid resolving all tags tn = repo._tagscache.tags.get(pattern, None)