From 4f4767c9e07039b2885b8610fec99a1def96e845 Mon Sep 17 00:00:00 2001 From: Mandar Vaze Date: Fri, 31 May 2019 16:42:16 +0530 Subject: [PATCH] Pass color option to git diff (on failure) Fixes #1007 --- pre_commit/commands/run.py | 9 ++++++++- tests/commands/run_test.py | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index d060e186..3c18dd56 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -224,7 +224,14 @@ def _run_hooks(config, hooks, args, environ): '`pre-commit install`.', ) output.write_line('All changes made by hooks:') - subprocess.call(('git', '--no-pager', 'diff', '--no-ext-diff')) + if args.color: + subprocess.call(( + 'git', '--no-pager', 'diff', '--no-ext-diff', + '--color={}'.format(args.color), + )) + else: + subprocess.call(('git', '--no-pager', 'diff', '--no-ext-diff')) + return retval diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index b465cae6..b4548f6f 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -187,6 +187,13 @@ def test_global_exclude(cap_out, store, tempdir_factory): }, b'All changes made by hooks:', ), + ( + { + 'show_diff_on_failure': True, + 'color': 'auto', + }, + b'All changes made by hooks:', + ), ( { 'show_diff_on_failure': True,