diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt index abb6735a40a2b7a9ea893c6c7e3c5e967cd1f2ea..e019e760b4b4d58dfbe8819941947008319aedac 100644 --- a/Documentation/git-grep.txt +++ b/Documentation/git-grep.txt @@ -16,7 +16,7 @@ SYNOPSIS [-F | --fixed-strings] [-n] [-l | --files-with-matches] [-L | --files-without-match] [-z | --null] - [-c | --count] [--all-match] + [-c | --count] [--all-match] [-q | --quiet] [--max-depth ] [--color | --no-color] [-A ] [-B ] [-C ] @@ -158,6 +158,11 @@ OPTIONS this flag is specified to limit the match to files that have lines to match all of them. +-q:: +--quiet:: + Do not output matched lines; instead, exit with status 0 when + there is a match and with non-zero status when there isn't. + `...`:: Search blobs in the trees for specified patterns. diff --git a/builtin-grep.c b/builtin-grep.c index 6cc743d7c585fa443f18a700455a4da662dec49f..9bd467c9b90d1c58a59e27fbc6673cb68d855c72 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -832,7 +832,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix) { OPTION_CALLBACK, ')', NULL, &opt, NULL, "", PARSE_OPT_NOARG | PARSE_OPT_NONEG | PARSE_OPT_NODASH, close_callback }, - OPT_BOOLEAN('q', "quick", &opt.status_only, + OPT_BOOLEAN('q', "quiet", &opt.status_only, "indicate hit with exit status without output"), OPT_BOOLEAN(0, "all-match", &opt.all_match, "show only matches from files that match all patterns"), diff --git a/t/t7002-grep.sh b/t/t7002-grep.sh index 7eceb086bee2f0b5c59341256b506775c21941e7..bf4d4dcb2bc577715a02ae01f95a5be348e40384 100755 --- a/t/t7002-grep.sh +++ b/t/t7002-grep.sh @@ -291,6 +291,14 @@ y:y yy z:zzz EOF +test_expect_success 'grep -q, silently report matches' ' + >empty && + git grep -q mmap >actual && + test_cmp empty actual && + test_must_fail git grep -q qfwfq >actual && + test_cmp empty actual +' + # Create 1024 file names that sort between "y" and "z" to make sure # the two files are handled by different calls to an external grep. # This depends on MAXARGS in builtin-grep.c being 1024 or less.