mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2026-04-05 11:36:54 +00:00
docs: concise explanation for check-yaml allow duplicate key feature.
This commit is contained in:
parent
aaa58f760c
commit
d788663a74
4 changed files with 11 additions and 10 deletions
|
|
@ -87,9 +87,8 @@ Attempts to load all yaml files to verify syntax.
|
|||
portability to other yaml implementations.
|
||||
Implies `--allow-multiple-documents`.
|
||||
- `--allow_duplicate_keys` - Use this parameter to allow duplicate keys in yaml files.
|
||||
In JSON mapping keys should be unique, in YAML they must be unique.
|
||||
PyYAML never enforced this although the YAML 1.1 specification already required this.
|
||||
Duplicate keys in mappings are no longer allowed by default.
|
||||
Duplicate keys in yaml files are not allowed by default.
|
||||
However, e.g. gitlab-ci.yml files may require this.
|
||||
|
||||
#### `debug-statements`
|
||||
Check for debugger imports and py37+ `breakpoint()` calls in python source.
|
||||
|
|
|
|||
|
|
@ -54,18 +54,19 @@ def main(argv: Sequence[str] | None = None) -> int:
|
|||
)
|
||||
parser.add_argument('filenames', nargs='*', help='Filenames to check.')
|
||||
parser.add_argument(
|
||||
'--allow_duplicate_keys', '--allow-duplicate-keys', action='store_true',
|
||||
help=('In JSON mapping keys should be unique, in YAML they must be unique.'
|
||||
'PyYAML never enforced this although the YAML 1.1 specification already required this.'
|
||||
'Duplicate keys in mappings are no longer allowed by default.'
|
||||
'Use this parameter to allow duplicate keys in yaml files.'
|
||||
'--allow_duplicate_keys', '--allow-duplicate-keys',
|
||||
action='store_true',
|
||||
help=(
|
||||
'Use this parameter to allow duplicate keys in yaml files.'
|
||||
'Duplicate keys in yaml files are not allowed by default.'
|
||||
'However, e.g. gitlab-ci.yml files may require this.'
|
||||
),
|
||||
)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
|
||||
yaml.allow_duplicate_keys = args.allow_duplicate_keys
|
||||
|
||||
|
||||
load_fn = LOAD_FNS[Key(multi=args.multi, unsafe=args.unsafe)]
|
||||
|
||||
retval = 0
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
hello: "world"
|
||||
hello: "planet"
|
||||
hello: "planet"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ def test_main_allow_multiple_documents(tmpdir):
|
|||
# should pass when we allow multiple documents
|
||||
assert not main(('--allow-multiple-documents', str(f)))
|
||||
|
||||
|
||||
def test_main_allow_duplicate_keys(tmpdir):
|
||||
f = get_resource_path('duplicate_key_yaml.notyaml')
|
||||
# should fail by default
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue