From: Junio C Hamano Date: Tue, 12 Jan 2010 08:22:23 +0000 (-0800) Subject: grep: -L should show empty files X-Git-Tag: v1.6.6.1~12 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=fbb9971aca1fef66e622d64418121f6077f05c57;p=git.git 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 --- 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);