From c05f58b776603dc2a5222f035c2dc058426497de Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 16 Jan 2022 07:20:12 -0800 Subject: [PATCH] add git version to error output --- pre_commit/error_handler.py | 5 +++++ tests/error_handler_test.py | 1 + 2 files changed, 6 insertions(+) diff --git a/pre_commit/error_handler.py b/pre_commit/error_handler.py index 023dd3596..7e74b9589 100644 --- a/pre_commit/error_handler.py +++ b/pre_commit/error_handler.py @@ -9,6 +9,7 @@ from pre_commit import output from pre_commit.errors import FatalError from pre_commit.store import Store +from pre_commit.util import cmd_output_b from pre_commit.util import force_bytes @@ -21,6 +22,9 @@ def _log_and_exit( error_msg = f'{msg}: {type(exc).__name__}: '.encode() + force_bytes(exc) output.write_line_b(error_msg) + _, git_version_b, _ = cmd_output_b('git', '--version', retcode=None) + git_version = git_version_b.decode(errors='backslashreplace').rstrip() + storedir = Store().directory log_path = os.path.join(storedir, 'pre-commit.log') with contextlib.ExitStack() as ctx: @@ -38,6 +42,7 @@ def _log_and_exit( _log_line() _log_line('```') _log_line(f'pre-commit version: {C.VERSION}') + _log_line(f'git --version: {git_version}') _log_line('sys.version:') for line in sys.version.splitlines(): _log_line(f' {line}') diff --git a/tests/error_handler_test.py b/tests/error_handler_test.py index 6b0bb86d7..cb76dcf47 100644 --- a/tests/error_handler_test.py +++ b/tests/error_handler_test.py @@ -122,6 +122,7 @@ def test_log_and_exit(cap_out, mock_store_dir): r'\n' r'```\n' r'pre-commit version: \d+\.\d+\.\d+\n' + r'git --version: git version .+\n' r'sys.version:\n' r'( .*\n)*' r'sys.executable: .*\n'