Mercurial > public > mercurial-scm > hg-stable
diff mercurial/minifileset.py @ 43075:57875cf423c9
style: run a patched black on a subset of mercurial
This applied black to the 20 smallest files in mercurial/:
ls -S1 mercurial/*.py | tail -n20 | xargs black --skip-string-normalization
Note that a few files failed to format, presumably due to a bug in my
patch. The intent is to be able to compare results to D5064 with
https://github.com/python/black/pull/826 applied to black.
I skipped string normalization on this patch for clarity - in reality
I think we'd want one pass without string normalization, followed by
another to normalize strings (which is basically replacing ' with "
globally.)
# skip-blame mass-reformatting only
Differential Revision: https://phab.mercurial-scm.org/D6342
author | Augie Fackler <augie@google.com> |
---|---|
date | Sat, 05 Oct 2019 10:29:34 -0400 |
parents | e79a69af1593 |
children | 687b865b95ad |
line wrap: on
line diff
--- a/mercurial/minifileset.py Fri Oct 04 15:53:45 2019 -0400 +++ b/mercurial/minifileset.py Sat Oct 05 10:29:34 2019 -0400 @@ -15,11 +15,13 @@ pycompat, ) + def _sizep(x): # i18n: "size" is a keyword expr = filesetlang.getstring(x, _("size requires an expression")) return fileset.sizematcher(expr) + def _compile(tree): if not tree: raise error.ParseError(_("missing argument")) @@ -28,20 +30,23 @@ return _compile(tree[1]) elif op in {'symbol', 'string', 'kindpat'}: name = filesetlang.getpattern(tree, {'path'}, _('invalid file pattern')) - if name.startswith('**'): # file extension test, ex. "**.tar.gz" + if name.startswith('**'): # file extension test, ex. "**.tar.gz" ext = name[2:] for c in pycompat.bytestr(ext): if c in '*{}[]?/\\': raise error.ParseError(_('reserved character: %s') % c) return lambda n, s: n.endswith(ext) - elif name.startswith('path:'): # directory or full path test - p = name[5:] # prefix + elif name.startswith('path:'): # directory or full path test + p = name[5:] # prefix pl = len(p) - f = lambda n, s: n.startswith(p) and (len(n) == pl - or n[pl:pl + 1] == '/') + f = lambda n, s: n.startswith(p) and ( + len(n) == pl or n[pl : pl + 1] == '/' + ) return f - raise error.ParseError(_("unsupported file pattern: %s") % name, - hint=_('paths must be prefixed with "path:"')) + raise error.ParseError( + _("unsupported file pattern: %s") % name, + hint=_('paths must be prefixed with "path:"'), + ) elif op in {'or', 'patterns'}: funcs = [_compile(x) for x in tree[1:]] return lambda n, s: any(f(n, s) for f in funcs) @@ -63,15 +68,18 @@ return symbols[name] raise error.UnknownIdentifier(name, symbols.keys()) - elif op == 'minus': # equivalent to 'x and not y' + elif op == 'minus': # equivalent to 'x and not y' func1 = _compile(tree[1]) func2 = _compile(tree[2]) return lambda n, s: func1(n, s) and not func2(n, s) elif op == 'list': - raise error.ParseError(_("can't use a list in this context"), - hint=_('see \'hg help "filesets.x or y"\'')) + raise error.ParseError( + _("can't use a list in this context"), + hint=_('see \'hg help "filesets.x or y"\''), + ) raise error.ProgrammingError('illegal tree: %r' % (tree,)) + def compile(text): """generate a function (path, size) -> bool from filter specification.