From: Junio C Hamano Date: Wed, 23 Aug 2017 21:13:12 +0000 (-0700) Subject: Merge branch 'as/grep-quiet-no-match-exit-code-fix' X-Git-Tag: v2.15.0-rc0~145 X-Git-Url: https://www.git.lorimer.id.au/gitweb.git/diff_plain/85c81a74e24fd83bbe7a75aa4ce6a5b3dfa1b884?hp=c3e034f0f0753126494285d1098e1084ec05d2c4 Merge branch 'as/grep-quiet-no-match-exit-code-fix' "git grep -L" and "git grep --quiet -L" reported different exit codes; this has been corrected. * as/grep-quiet-no-match-exit-code-fix: git-grep: correct exit code with --quiet and -L --- diff --git a/grep.c b/grep.c index 45acd333b0..ce6a48e634 100644 --- a/grep.c +++ b/grep.c @@ -1821,7 +1821,7 @@ static int grep_source_1(struct grep_opt *opt, struct grep_source *gs, int colle return 0; if (opt->status_only) - return 0; + return opt->unmatch_name_only; if (opt->unmatch_name_only) { /* We did not see any hit, so we want to show this */ show_name(opt, gs->name); diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index f106387820..2a6679c2f5 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -374,6 +374,11 @@ test_expect_success 'grep -L -C' ' test_cmp expected actual ' +test_expect_success 'grep --files-without-match --quiet' ' + git grep --files-without-match --quiet nonexistent_string >actual && + test_cmp /dev/null actual +' + cat >expected <