extended warning if globs are used instead of regex to top level

This commit is contained in:
Paul Fischer 2021-01-01 23:57:24 +01:00
parent 7432acc215
commit b1a9209f9f
No known key found for this signature in database
GPG key ID: 317E3D17B0D3C094
2 changed files with 34 additions and 4 deletions

View file

@ -132,7 +132,7 @@ class WarnMutableRev(cfgv.ConditionalOptional):
)
class OptionalSensibleRegex(cfgv.OptionalNoDefault):
class OptionalSensibleRegexAtHook(cfgv.OptionalNoDefault):
def check(self, dct: Dict[str, Any]) -> None:
super().check(dct)
@ -144,6 +144,17 @@ class OptionalSensibleRegex(cfgv.OptionalNoDefault):
)
class OptionalSensibleRegexAtTop(cfgv.OptionalNoDefault):
def check(self, dct: Dict[str, Any]) -> None:
super().check(dct)
if '/*' in dct.get(self.key, ''):
logger.warning(
f'The top-level {self.key!r} field is a regex, not a glob -- '
f"matching '/*' probably isn't what you want here",
)
class MigrateShaToRev:
key = 'rev'
@ -259,8 +270,8 @@ CONFIG_HOOK_DICT = cfgv.Map(
for item in MANIFEST_HOOK_DICT.items
if item.key != 'id'
),
OptionalSensibleRegex('files', cfgv.check_string),
OptionalSensibleRegex('exclude', cfgv.check_string),
OptionalSensibleRegexAtHook('files', cfgv.check_string),
OptionalSensibleRegexAtHook('exclude', cfgv.check_string),
)
CONFIG_REPO_DICT = cfgv.Map(
'Repository', 'repo',
@ -329,6 +340,8 @@ CONFIG_SCHEMA = cfgv.Map(
),
warn_unknown_keys_root,
),
OptionalSensibleRegexAtTop('files', cfgv.check_string),
OptionalSensibleRegexAtTop('exclude', cfgv.check_string),
# do not warn about configuration for pre-commit.ci
cfgv.OptionalNoDefault('ci', cfgv.check_type(dict)),