From 50f04394908fe308a421b360951b1f73b00363ee Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 16 Dec 2020 17:27:13 -0800 Subject: diff: correct interaction between --exit-code and -I Just like "git diff -w --exit-code" should exit with 0 when ignoring whitespace differences results in no changes shown, if ignoring certain changes with "git diff -I --exit-code" result in an empty patch, we should exit with 0. The test suite did not cover the interaction between "--exit-code" and "-w"; add one while adding a new test for "--exit-code" + "-I". Signed-off-by: Junio C Hamano --- diff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'diff.c') diff --git a/diff.c b/diff.c index 92e247fb83..e162d59eae 100644 --- a/diff.c +++ b/diff.c @@ -4602,7 +4602,8 @@ void diff_setup_done(struct diff_options *options) * inside contents. */ - if ((options->xdl_opts & XDF_WHITESPACE_FLAGS)) + if ((options->xdl_opts & XDF_WHITESPACE_FLAGS) || + options->ignore_regex_nr) options->flags.diff_from_contents = 1; else options->flags.diff_from_contents = 0; -- cgit v1.2.3