Commit Graph

239 Commits

Author SHA1 Message Date
Luis Pérez 6883485395 Disallow --unique alongside --ignore-cases in file-contents-sorter
Closes #794: using these flags at the same time results in undefined
behavior - the final ordering is not guaranteed as --unique breaks
sorting due to passing the contents through a set.

NOTE: I added a newline before and after the mutex group to be
consistent with other usages of mutex groups (e.g.,
check_builtin_literals.py) in this repo.
2024-10-26 15:04:34 -04:00
Jeffrey Lim fd011242fd Extend check for illegal Windows filenames 2024-10-05 14:10:25 -04:00
Alex Marvin 25cdd5457b Continues processing JSONs even if hook fails (fixes #1038) 2024-04-20 13:15:14 -04:00
Eric L Frederich 714f1e57b1
support more illegal Windows filenames
See comments in #1031
2024-04-16 14:43:15 -04:00
Eric L Frederich 865409743e Add check for illegal Widnows names
Fixes #589
2024-04-14 11:47:45 -04:00
Eric L Frederich eadcce2e03
Stop pkg_resources from being added as well
This package with an underscore instead of a dash seems to be
new behavior (at least on Ubuntu 20.04 with Python 3.8)

fixes #1030
2024-03-26 15:27:01 -04:00
Vincent Houlbrèque 0d6d0a79df Remove duplicated packages 2024-02-25 12:15:29 -05:00
Anthony Sottile f27ee318d2 don't rewrite string quotes inside f-strings 2023-10-07 13:50:33 -04:00
Roel Adriaans fdbaeb81fa Fix blank lines
As stated in the documentation: `Note that this hook WILL remove blank lines`
Previously this hook would always add blank a blank line.

With this fix, if the file is empty, a newline will not be added, and multpline blanklines in a file will be removed.

Fixes #935
2023-08-05 22:56:46 +02:00
Anthony Sottile 412564fa95 add --pytest-test-first convention 2022-06-07 09:10:42 -07:00
Anthony Sottile b13ff9b868 adjust error outputs to be more standardized 2022-04-06 16:59:53 -04:00
Anthony Sottile 8f6152921e drop python3.6 support
python 3.6 reached end of life on 2021-12-23

Committed via https://github.com/asottile/all-repos
2022-01-15 19:24:05 -05:00
Anthony Sottile 91ee010907 remove need for monkeypatching home 2021-12-20 23:12:51 -05:00
Alex Martani 03a65ca357 Fix check-added-large-files --enforce-all to correctly consider all git-lfs files.
`git lfs status` only outputs status for files that are pending some git-lfs related operation.
For usage with --enforce-all, we need the list of all files that are tracked, which can be
achived by `git lfs ls-files`.

Fixes: https://github.com/pre-commit/pre-commit-hooks/issues/560
2021-12-20 23:04:50 -05:00
Ersin Yildirim 07af54024c Adjust git dir when checking for merge in worktree 2021-10-15 18:23:43 -04:00
Luís Ferreira 1b4e30e9aa
detect_private_key: add OpenVPN shared-secret key block
'OpenVPN Static key V1' label is often used by OpenVPN for providing hardening
security with additional HMAC signatures to the SSL/TLS handshake packets. They
are shared secrets and should be kept private.

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2021-10-02 20:53:39 +01:00
Luís Ferreira ccdf02dfd4
detect_private_key: add textual version of `PKCS #8` encrypted private keys
As described by RFC7468 and RFC5958, keys that are encoded using the "ENCRYPTED
PRIVATE KEY" label are described as private key information and therefore can
contain secrets, even though encrypted.

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
2021-10-02 20:53:33 +01:00
Mikhail Khvoinitsky 10c5e4e166 forbid-new-submodules: fix triggering failure when only a submodule is committed (without any other file); support --from-ref and --to-ref; fixes #609 2021-08-13 21:32:08 +03:00
Anthony Sottile 301195efa9 use shutil.which instead of distutils.spawn 2021-07-07 14:06:01 -04:00
Iago Alonso fed8b6debb
Rename file causing `check-json` to fail
- `mv duplicated_key_json.{json,notjson}`
- change reference to the file in `tests/check_json_test.py`

Fixes #600
2021-05-15 12:31:33 +02:00
Anthony Sottile a5cf10d9b2 Use more inclusive language
Committed via https://github.com/asottile/all-repos
2021-05-14 19:12:09 -07:00
Ville Skyttä 391ae30a64 Add check for executability of scripts with shebangs
Closes https://github.com/pre-commit/pre-commit-hooks/issues/543
2021-05-04 18:45:43 -07:00
jack1142 4729918bc9 Disallow any branch name in checks_vcs_permalinks 2021-04-06 18:19:19 -07:00
Krystian Chmura f681234a0e check also directories in check_case_conflict
fix #70
2021-04-04 09:27:44 -07:00
Nicholas Devenish 3abbd4785c no-commit-to-branch: Default to both master and main 2021-03-04 15:59:25 +00:00
Aditya Khursale fe37451719 Report duplicate keys in check_json
Raise ValueError and return 1 if json contains duplicate keys
2021-02-18 13:53:57 -08:00
Viacheslav Greshilov 28b2c8e431 requirements-txt-fixer now supports indents before comments 2021-01-17 21:15:05 +02:00
Mikhail Khvoinitsky 1e87d59a2d New hook 'destroyed-symlinks' to detect symlinks which are changed to regular files with a content of a path which that symlink was pointing to; move zsplit to util 2020-11-18 11:45:05 -08:00
Youngmin Koo 1f8151aeeb Add --additional-github-domain to check-vcs-permalinks 2020-11-18 08:58:23 -08:00
Daniel Hoherd 7e393476bd Add --unique arg to file-contents-sorter 2020-10-25 12:18:09 -07:00
Jeremiah Gowdy d18bd5b75f Add new byte-order-marker checker/fixer 2020-10-11 11:31:05 -07:00
Marcus Shawcroft 012bb0691f Fix #518, provide --enforce-all option to check_added_large_files
The --enforce-all option when provided ensures that all files passed
on the command line are checked against the size limit.  Default
behaviour remains unchanged.
2020-09-27 15:15:37 -07:00
Julian Berman 0c760253f3 Add a way to do case-insensitive sorting via file-contents-sorter. 2020-08-26 21:55:22 -04:00
Timothée Mazzucotelli 4faed34fbc Fix parsing of git output with unusual characters
On Windows, all files are "executable".
Therefore, to know if a file is supposed to be executed,
we check how its attributes were recorded by git:
we run a `git ls-files` command in a subprocess.

By default, this command outputs information
on multiple lines (file and their data separated by newlines).
When a file contains an unusual character,
the character is escaped with an integer sequence
(such as `\303\261`), and git wraps the whole filename
in double-quotes because of the backslashes.
It breaks the current code because we try to open
the filename containing the double-quotes:
it doesn't exist, of course.

Instead of trying to fix this special case by removing
the double-quotes, and breaking other cases
(a double-quote is a valid filename character on Linux),
we tell git to separate each item with the null character `\0`
instead of a new line `\n`, with the option `-z`.
With this option, git doesn't escape unusual characters
with integer sequence, so the output is fixed, and we
parse it by splitting on `\0` instead of `\n`.

Fixes #508.
2020-07-30 11:58:24 -07:00
Max Rozentsveyg f35bfed79e Don't use LocalPath.strpath 2020-05-20 12:08:42 -04:00
Pedro Calleja 926208fb31 hotfix: the user may be define an extra arguments for a removed hook 2020-05-18 19:57:49 -07:00
Max R 7848fcff22
Fix typo 2020-05-18 21:46:53 -04:00
Anthony Sottile e0c9d513c3
Merge pull request #483 from mxr/parse-reqs
Parse more operators in requirements
2020-05-18 16:15:10 -07:00
Max Rozentsveyg 5195ba3449 Check git mode on Windows 2020-05-18 16:11:10 -07:00
Max Rozentsveyg 7ebd420417 Parse more operators in requirements 2020-05-18 17:25:48 -04:00
Max Rozentsveyg 8febacdfed Support checking unicode TOML 2020-05-16 21:05:37 -04:00
Anthony Sottile c11c5483d6 check-json: resolve TODO 2020-05-14 16:29:55 -07:00
Anthony Sottile b9cc9d7761 remove flake8 and suggest pycqa/flake8 2020-05-14 16:00:29 -07:00
Aniket Bhatnagar bbcd31e000 Handled multiline dependencies 2020-05-08 07:10:54 -07:00
Anthony Sottile a7f73434a6 Use covdefaults to handle coveragerc 2020-02-29 20:34:45 -08:00
Anthony Sottile 261fb3d66c pre-commit-hooks: python3.6.1+ 2020-02-24 10:57:26 -08:00
Anthony Sottile 21553c2ca9 Allow arbitrarily encoded files to be checked with detect-aws-credentials 2020-02-18 10:24:17 -08:00
Alexander Demin 75d4832e98 Unit test for empty AWS variables 2020-02-13 12:01:38 +00:00
Anthony Sottile f5c42a050b pre-commit-hooks: python3.6+ 2020-02-05 11:22:18 -08:00
Anthony Sottile fea76b9ea1 Fix CI by upgrading AP templates 2020-02-03 08:41:48 -08:00