Antonio Gutierrez
b64a102e49
install_uninstall: prefer shebang with only major version
...
Having a major.minor version of python in the shebangs, has the unwanted
side effect of requiring an uninstallation and then reinstallation
all the pre-commit hooks, once the system updates the python
installation to a newer minor version, since it will not find the
version which the shebangs specifies.
To make matters worse the uninstallation of the hooks has to be manual
since the script will not be able to run for the aforementioned reason.
This change makes the python symlink with just the major version as the
preferred choice over the major.minor version specified shebang.
Signed-off-by: Antonio Gutierrez <chibby0ne@gmail.com>
2020-12-19 04:04:37 +01:00
Celeborn2BeAlive
273326b89b
drop python.exe extension on windows on shebang
2020-09-09 12:42:48 -07:00
Anthony Sottile
79b098c409
fix atomic file replace on windows
2020-08-23 10:18:59 -07:00
Anthony Sottile
67c1beb322
Use covdefaults to handle coveragerc
2020-02-29 14:25:19 -08:00
Anthony Sottile
cc45b5e57b
Improve git hook shebang creation
2020-02-07 09:09:17 -08:00
Anthony Sottile
d56fdca618
allow init-templatedir to succeed when core.hooksPath is set
2020-01-28 12:43:18 -08:00
Anthony Sottile
95b8d71bd9
Move most of the actual hook script into pre-commit hook-impl
2020-01-21 16:41:22 -08:00
Anthony Sottile
2f51b9da1c
Use a more specific hook shebang now that it can't be python 2
2020-01-16 09:57:41 -08:00
Anthony Sottile
2a9893d0f0
mkdirp -> os.makedirs(..., exist_ok=True)
2020-01-12 13:39:53 -08:00
Anthony Sottile
9000e9dd41
Some manual .format() -> f-strings
2020-01-12 13:39:53 -08:00
Anthony Sottile
327ed924a3
Add types to pre-commit
2020-01-12 10:15:01 -08:00
Anthony Sottile
30c1e8289f
upgrade hooks, pyupgrade pre-commit
2020-01-12 09:27:04 -08:00
Anthony Sottile
f612aeb22b
Split out cmd_output_b
2019-10-06 15:16:47 -07:00
Anthony Sottile
a18646deb2
Allow --hook-type to be specified multiple times
2019-09-23 11:14:36 -07:00
Anthony Sottile
9a52eefc99
Implement pre-commit init-templatedir
2019-07-20 20:33:42 -07:00
Anthony Sottile
af2c6de9ae
Fix double legacy install on windows
2019-04-27 15:10:01 -07:00
Artem Polishchuk
9f0cfed600
Specify env python explicitly.
2019-03-30 19:56:52 +02:00
Anthony Sottile
dc28922ccb
Run pre-commit autoupdate
...
Committed via https://github.com/asottile/all-repos
2019-03-21 21:09:33 -07:00
Anthony Sottile
4f8a9580aa
Be more timid about choosing a shebang
2019-01-10 14:26:55 -08:00
Anthony Sottile
d3b5a41830
Implement default_language_version
2019-01-05 13:15:23 -08:00
Anthony Sottile
4f9d0397b5
Add more 'no cover windows' comments
2018-12-31 14:06:10 -08:00
Anthony Sottile
c577ed92e7
Refactor pre_commit.repository and factor out cached-property
2018-12-30 20:56:49 -08:00
Anthony Sottile
fe409f1a43
Remove stateful Runner
2018-12-26 22:33:21 -08:00
Anthony Sottile
de942894ff
Pick a better python shebang for hook executable
2018-12-25 12:11:02 -08:00
Anthony Sottile
9f60561d6f
Replace resources with importlib_resources
2018-10-14 14:37:35 -07:00
Mickaël Schoentgen
67d6fcb0f6
Fix several ResourceWarning: unclosed file
2018-08-10 18:30:22 +02:00
Anthony Sottile
bffa58753d
hook paths are only computed in install_uninstall
2018-07-05 12:49:01 -07:00
Anthony Sottile
c01ffc83f8
Separate store from runner
2018-06-29 22:35:53 -07:00
Anthony Sottile
f679983012
Refuse to install with core.hooksPath set
2018-03-03 15:24:14 -08:00
Anthony Sottile
5c90c1a68f
Rewrite the hook template in python
2018-02-03 22:51:00 -08:00
Anthony Sottile
873dd173ce
Use pipes.quote for executable path
2017-09-21 15:16:48 -07:00
wanghui
f9a849abcc
Fix specify config file not work while installing
...
Via `pre-commit install -c .other-config.yaml`
2017-09-05 16:22:54 +08:00
Anthony Sottile
d0b268c813
Add support for commit-msg git hook
2017-07-23 20:50:25 -07:00
Anthony Sottile
0c70fa4229
Use asottile/add-trailing-comma
2017-07-12 18:30:51 -07:00
Anthony Sottile
7a579af884
Merge pull request #497 from pre-commit/future_versions
...
Make hook-tmpl resilient to future changes
2017-02-23 16:15:23 -05:00
Anthony Sottile
dbd131f646
Minor fixups
2017-02-23 13:11:40 -08:00
Filippos Giannakos
2f4199850d
Add --allow-missing-config option to install
...
When no '.pre-commit-config.yaml' file exists while `pre-commit` hooks
are enabled, `pre-commit` returns an error and the action is aborted.
This is a very common scenario when pre-commit is added later on a
project and the user wants to work on a previous branch where the
configuration file does not exist.
This commits allow the user to optionally install the `pre-commit` hooks
with an option to allow a missing configuration and trigger only the
legacy pre-commit hooks (if any) when it is missing.
2017-02-23 18:25:51 +02:00
Anthony Sottile
173ce83484
Make hook-tmpl resilient to future changes
2017-02-22 08:48:36 -08:00
Anthony Sottile
f238495d6b
Add an install-hooks command (similar to install --install-hooks). Resolves #456
2017-01-04 07:52:16 -08:00
Anthony Sottile
a7169905dc
Centralize logging initialization
2016-11-26 14:19:37 -08:00
Anthony Sottile
0dda19f691
Reorganize output writing
2016-11-26 12:15:55 -08:00
Anthony Sottile
b81c9802ae
Remove py26 format literals
...
Resolves #403
2016-09-15 08:41:58 -07:00
Anthony Sottile
82369fd99f
Add utility for parsing shebangs and resolving PATH
2016-04-03 22:54:46 -07:00
Anthony Sottile
2df1dc9023
Add python3.5, pypy3, and latest git to travis
2015-12-04 14:30:15 -08:00
Anthony Sottile
6eb260f774
Fixups and test for pre-commit/pre-commit#277
2015-10-08 19:08:49 -07:00
Anthony Sottile
223f0d4dfb
v0.6.0
2015-10-05 07:53:34 -07:00
Barry Steyn
dd73ffd02f
Filtering of hooks for commit or push stages
2015-10-05 07:17:20 -07:00
Dmitriy Kunitskiy
72b61a81f9
fix for issue 246
2015-07-20 17:25:08 -07:00
Anthony Sottile
a97cb38b9a
Handle when the hooks directory is not there on install. Resolves #234 .
2015-05-23 20:02:42 -07:00
Anthony Sottile
febb270afe
Bump magic numbers
2015-01-14 20:27:37 -08:00