grep: support newline separated pattern list
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Sun, 20 May 2012 14:33:07 +0000 (16:33 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 20 May 2012 22:25:46 +0000 (15:25 -0700)
commit526a858a99ace6698823740374edc3e35b87901a
tree7e8e8385829962ef29f0024e8d1ef399e80388e2
parent2b3873ff34ff937dad729407da4308be6a5bcd66
grep: support newline separated pattern list

Currently, patterns that contain newline characters don't match anything
when given to git grep.  Regular grep(1) interprets patterns as lists of
newline separated search strings instead.

Implement this functionality by creating and inserting extra grep_pat
structures for patterns consisting of multiple lines when appending to
the pattern lists.  For simplicity, all pattern strings are duplicated.
The original pattern is truncated in place to make it contain only the
first line.

Requested-by: Torne (Richard Coles) <torne@google.com>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-grep.txt
grep.c
grep.h
t/t7810-grep.sh