[PATCH] grep: -L should show empty files
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 12, 2010, 08:32 UTC
- Message-ID
- <7vvdf73eql.fsf_-_@alter.siamese.dyndns.org>
- In-Reply-To
- <7v63774tfd.fsf@alter.siamese.dyndns.org>
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> ---
* Fix for a longstanding bug meant for maint.
builtin-grep.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/builtin-grep.c b/builtin-grep.c index fd450bc..84a5af3 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -159,8 +159,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);
-- 1.6.6.280.ge295b7.dirty