summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grep.c8
-rwxr-xr-xt/t7008-grep-binary.sh6
2 files changed, 10 insertions, 4 deletions
diff --git a/grep.c b/grep.c
index 35c18b7e28..22639cde2c 100644
--- a/grep.c
+++ b/grep.c
@@ -873,6 +873,10 @@ static int grep_buffer_1(struct grep_opt *opt, const char *name,
count++;
if (opt->status_only)
return 1;
+ if (opt->name_only) {
+ show_name(opt, name);
+ return 1;
+ }
if (opt->count)
goto next_line;
if (binary_match_only) {
@@ -882,10 +886,6 @@ static int grep_buffer_1(struct grep_opt *opt, const char *name,
opt->output(opt, " matches\n", 9);
return 1;
}
- if (opt->name_only) {
- show_name(opt, name);
- return 1;
- }
/* Hit at this line. If we haven't shown the
* pre-context lines, we would need to show them.
*/
diff --git a/t/t7008-grep-binary.sh b/t/t7008-grep-binary.sh
index 91970eacd6..4a12d97922 100755
--- a/t/t7008-grep-binary.sh
+++ b/t/t7008-grep-binary.sh
@@ -33,6 +33,12 @@ test_expect_success 'git grep -c ina a' '
test_cmp expect actual
'
+test_expect_success 'git grep -l ina a' '
+ echo a >expect &&
+ git grep -l ina a >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'git grep -L bar a' '
echo a >expect &&
git grep -L bar a >actual &&