summaryrefslogtreecommitdiffstats
path: root/pre_commit
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-13 05:42:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-02-13 05:42:40 +0000
commitee37d9769800c5482ee0a70b3af41b28a39f4c53 (patch)
tree6c3df8aac260fbcbfb856dbc2ff029a66ad54898 /pre_commit
parentReleasing debian version 3.6.0-2. (diff)
downloadpre-commit-ee37d9769800c5482ee0a70b3af41b28a39f4c53.tar.xz
pre-commit-ee37d9769800c5482ee0a70b3af41b28a39f4c53.zip
Merging upstream version 3.6.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'pre_commit')
-rw-r--r--pre_commit/main.py3
-rw-r--r--pre_commit/staged_files_only.py5
2 files changed, 8 insertions, 0 deletions
diff --git a/pre_commit/main.py b/pre_commit/main.py
index 18c978a..559c927 100644
--- a/pre_commit/main.py
+++ b/pre_commit/main.py
@@ -37,6 +37,9 @@ logger = logging.getLogger('pre_commit')
# pyvenv
os.environ.pop('__PYVENV_LAUNCHER__', None)
+# https://github.com/getsentry/snuba/pull/5388
+os.environ.pop('PYTHONEXECUTABLE', None)
+
COMMANDS_NO_GIT = {
'clean', 'gc', 'init-templatedir', 'sample-config',
'validate-config', 'validate-manifest',
diff --git a/pre_commit/staged_files_only.py b/pre_commit/staged_files_only.py
index fd28e1c..e1f81ba 100644
--- a/pre_commit/staged_files_only.py
+++ b/pre_commit/staged_files_only.py
@@ -59,6 +59,11 @@ def _unstaged_changes_cleared(patch_dir: str) -> Generator[None, None, None]:
# There weren't any staged files so we don't need to do anything
# special
yield
+ elif retcode == 1 and not diff_stdout.strip():
+ # due to behaviour (probably a bug?) in git with crlf endings and
+ # autocrlf set to either `true` or `input` sometimes git will refuse
+ # to show a crlf-only diff to us :(
+ yield
elif retcode == 1 and diff_stdout.strip():
patch_filename = f'patch{int(time.time())}-{os.getpid()}'
patch_filename = os.path.join(patch_dir, patch_filename)