diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-01-12 00:22:23 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-12 00:47:02 -0800 |
commit | fbb9971aca1fef66e622d64418121f6077f05c57 (patch) | |
tree | dd328fa4a9d9b4b74214698e2da55cb5f18a331c | |
parent | 2b77029f4ad556b82cdbadf59ae13d41e23b6e7c (diff) | |
download | git-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>
-rw-r--r-- | builtin-grep.c | 2 |
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); |