On Mon, Jun 29, 2009 at 05:08:47PM -0700, Eric Raible wrote:
[Surely this has been address before, but I wasn't able to find it...]
There is some discussion here:
http://article.gmane.org/gmane.comp.version-control.git/112077
The documentation for git-log -S includes:
"Look for differences that introduce or remove an instance of <string>.
Note that this is different than the string simply appearing in diff output"
But I want to do that "different" thing (IOW I want search the diff output).
So must I loop through git-rev-list, grepping git-diff output on each commit?
Currently, yes. There is no way to do it internally. A patch to
implement it would probably be accepted, though (see the thread I
mentioned above for more details).
You can at least combine rev-list and diff into one command, and grep
like this (for 'foo'):
git log -z -p | perl -0ne 'print if /^[-+].*foo/m' | tr '\0' '\n'
-Peff