Commit Graph

867 Commits

Author SHA1 Message Date
Anthony Sottile
f9fbe18abf Fix pre-commit install on subst drives 2021-02-23 18:52:24 -08:00
Paul Fischer
34e0ff3497 added recursive repository support for golang 2021-02-06 12:52:41 -08:00
Anthony Sottile
f75fc6b2a8 fix execution in worktrees in subdirectories of bare repositories 2021-01-27 10:08:48 -08:00
Anthony Sottile
d258650ad4 use comparison with sys.platform so mypy understands it 2021-01-25 12:47:07 -08:00
Anthony Sottile
da369be096 Merge pull request #1771 from pre-commit/no_install_language_options
produce a more useful error message when non-installable things use language_version or additional_dependencies
2021-01-22 14:34:35 -08:00
Anthony Sottile
4f39946ea3 produce a more useful error message when non-installable things use language_version or additional_dependencies 2021-01-22 13:56:06 -08:00
surafelabebe
cb5ed6276d Expose remote branch ref as an environment variable 2021-01-22 13:18:25 -08:00
Paul Fischer
b1a9209f9f extended warning if globs are used instead of regex to top level 2021-01-01 23:57:24 +01:00
Paul Fischer
1e4de986a8 added warning if mutable rev is used 2020-12-18 12:20:21 -08:00
Anthony Sottile
38a4a0aa3b allow configuration for pre-commit.ci 2020-12-16 20:21:33 -08:00
Mark Rogaski
29d15de38e git: changed rev-parse option for Git 2.25 changes to --show-toplevel
Git 2.25 introduced a change to "rev-parse --show-toplevel" that exposed underlying volumes for Windows drives mapped with SUBST.  We use "rev-parse --show-cdup" to get the appropriate path, but must perform an extra check to see if we are in the .git directory.
2020-12-07 13:54:05 -08:00
francisco souza
c598785b6f util: use set instead of tuple in errno check
Co-authored-by: Paul Fischer <70564747+paulhfischer@users.noreply.github.com>
2020-12-06 07:45:31 -08:00
francisco souza
bb0d9573a9 util: also run chmod on EPERM
Writing a test for this one is tricky, because I was seeing the issue
only when the directory being removed is a docker volume, so instead of
getting EACCES we get EPERM.

This is easy to reproduce though. The existing test fails when the
directory being used for the files is a docker volume:

```
% docker run \
	-v $(mktemp -d):/tmp \
	-v ${PWD}:/src \
	-w /src \
	python:3 \
	bash -c 'pip install -e . && pip install -r requirements-dev.txt && python -m pytest tests/util_test.py'
```
2020-12-05 22:26:38 -05:00
Anthony Sottile
8cfe8e590d don't crash on cygwin mismatch check 2020-11-28 15:20:14 -08:00
Anthony Sottile
89ab609732 fix the default value for types_or 2020-11-25 18:21:37 -08:00
Anthony Sottile
7486dee082 fix for base executable with non-ascii characters on windows 2020-11-25 12:44:48 -08:00
Paul Fischer
610716d3d1 added warning if globs are used instead of regex 2020-11-22 18:53:48 -08:00
Paul Fischer
53109a0127 fixed message if repo couldn't be updated due to missing hook(s) 2020-11-22 13:34:10 -08:00
Michael Vincent
120d60223a Improve performance by ignoring submodules
When git status runs in a repo with submodules, it'll recursively run
git status in every submodule as well by default (sequentially).
git status is substantially slower on Windows than on Linux. git diff
behaves similarly to git status in terms of running recursively within
all submodules. In repos with hundreds of submodules, this quickly adds
up when git status/diff are called multiple times. Pre-commit runs
git status once at the beginning of an operation and then runs git diff
before and after each hook. These calls quickly add up and make
pre-commit unusable in large repos with lots of submodules.

This commit drastically improves performance in repos with lots of
submodules and fixes #1701 by telling git status and git diff to ignore
submodules. This change is not expected to have any negative effect on
existing hooks because each submodule should manage its own hooks
instead of relying on superproject hooks to manipulate their contents.
2020-11-19 23:26:05 -06:00
Anthony Sottile
a3e3b3d8aa fix for rbenv used outside of pre-commit and language_version: default 2020-11-17 11:58:46 -08:00
Anthony Sottile
8d28c9ab40 Merge pull request #1691 from pre-commit/slightly_simpler_enum
use slightly simpler enum syntax
2020-11-09 13:24:05 -08:00
Anthony Sottile
55cdfc6fd2 use slightly simpler enum syntax 2020-11-09 12:29:57 -08:00
Anthony Sottile
1494faee1f Merge pull request #1687 from pre-commit/simple_rev_line_re
remove DOTALL on REV_LINE_RE
2020-11-06 16:32:46 -08:00
Anthony Sottile
64d57ba466 remove DOTALL on REV_LINE_RE 2020-11-06 14:36:43 -08:00
Anthony Sottile
14f984fbcf improve xargs when running windows batch files 2020-11-06 13:09:01 -08:00
Anthony Sottile
c972205214 Merge pull request #1684 from pre-commit/migrate_config_less_work
only perform migrate_config parsing if it is a list
2020-11-05 16:27:23 -08:00
Anthony Sottile
1975c056bc Merge pull request #1683 from pre-commit/textwrap_indent
use textwrap.indent instead of _indent
2020-11-05 16:22:17 -08:00
Anthony Sottile
b4ab84df58 only perform migrate_config parsing if it is a list 2020-11-05 16:05:41 -08:00
Anthony Sottile
64876697b5 use textwrap.indent instead of _indent 2020-11-05 15:59:46 -08:00
Ruairidh MacLeod
aa8023407e fix dotnet build cleanup 2020-11-03 08:53:17 -08:00
Marco Gorelli
62f668fc3f add types_or 2020-11-02 17:25:10 +00:00
Anthony Sottile
e05ac1e91f don't call ruby install for language_version = default 2020-10-29 19:45:06 -07:00
Anthony Sottile
62b8d0ed82 allow default language_version of system when homedir is / 2020-10-28 22:56:10 -07:00
Anthony Sottile
7f9f66e542 don't use system for ruby/node if it is a shim exe 2020-10-28 16:52:55 -07:00
Anthony Sottile
29f3e67655 improve node install by using npm pack 2020-10-28 15:13:53 -07:00
Anthony Sottile
24dfeed89c Replace EnvironT with MutableMapping[str, str] 2020-10-28 13:00:25 -07:00
int3l
47e758d8f1 Distinct error handling exit codes
https://tldp.org/LDP/abs/html/exitcodes.html - exit codes convention
2020-10-28 11:13:04 -07:00
Joseph Moniz
70ab1c3b6f add coursier (jvm) as a language 2020-10-27 09:21:54 -07:00
Marco Gorelli
a0658c06bf add --negate flag to pygrep 2020-10-17 18:50:40 +01:00
Anthony Sottile
3584b99caa simplify docker run 2020-10-10 18:09:51 -07:00
Anthony Sottile
202f0bbbc9 Merge pull request #1598 from rkm/feature/dotnet
add initial dotnet support
2020-09-27 15:25:56 -07:00
Ruairidh MacLeod
003e4c21e0 add initial dotnet support 2020-09-27 15:04:35 -07:00
Maximilian Cosmo Sitter
3de3c6a5fc Update pre-commit version in sample config 2020-09-27 14:54:42 -07:00
Anthony Sottile
58a190fd69 don't pass through -p if using the default version 2020-09-23 17:44:18 -07:00
Thomas Romera
36653586a0 update rbenv / ruby-build 2020-09-22 23:03:01 -07:00
Anthony Sottile
365f896c36 fix a few spelling errors
found via `pre-commit  try-repo https://github.com/codespell-project/codespell --all-files`
2020-09-20 19:21:24 -07:00
Anthony Sottile
91530f1005 check cygwin mismatch earlier 2020-09-20 10:42:11 -07:00
Anthony Sottile
3e2b9dc91a Merge pull request #1603 from pre-commit/no_format_executable
Fix ruby hooks when --format-executable is in gemrc
2020-09-18 09:37:41 -07:00
Anthony Sottile
13eed4ac5b Fix ruby hooks when --format-executable is in gemrc
I used this gemrc to break things (default on opensuse):

```yaml
---
:benchmark: false
:install: --format-executable --no-user-install
install: --format-executable --no-user-install
:backtrace: true
:update_sources: true
:format_executable: true
:verbose: true
:update: --format-executable --no-user-install
update: --format-executable --no-user-install
:bulk_threshold: 1000
:sources:
- https://rubygems.org
```
2020-09-18 09:13:19 -07:00
Anthony Sottile
4888644990 remove hardcoded python location 2020-09-15 12:04:25 -07:00