aboutsummaryrefslogtreecommitdiff
path: root/builtin-grep.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-12 00:22:23 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-12 00:47:02 -0800
commitfbb9971aca1fef66e622d64418121f6077f05c57 (patch)
treedd328fa4a9d9b4b74214698e2da55cb5f18a331c /builtin-grep.c
parent2b77029f4ad556b82cdbadf59ae13d41e23b6e7c (diff)
downloadgit-fbb9971aca1fef66e622d64418121f6077f05c57.tar.gz
git-fbb9971aca1fef66e622d64418121f6077f05c57.tar.xz
grep: -L should show empty files
The -L (--files-without-match) option is supposed to show paths that produced no matches. When running the internal grep on work tree files, however, we had an optimization to just return on zero-sized files, without doing anything. This optimization doesn't matter too much in practice (a tracked empty file must be rare, or there is something wrong with your project); to produce results consistent with GNU grep, we should stop the optimization and show empty files as not having the given pattern. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-grep.c')
-rw-r--r--builtin-grep.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/builtin-grep.c b/builtin-grep.c
index a5b6719a1..af6c6fe8a 100644
--- a/builtin-grep.c
+++ b/builtin-grep.c
@@ -191,8 +191,6 @@ static int grep_file(struct grep_opt *opt, const char *filename)
error("'%s': %s", filename, strerror(errno));
return 0;
}
- if (!st.st_size)
- return 0; /* empty file -- no grep hit */
if (!S_ISREG(st.st_mode))
return 0;
sz = xsize_t(st.st_size);