Thread (9 messages) 9 messages, 2 authors, 2016-06-15

Re: RFH - git-log variant that _does_ search through diffs

flat view

From: Jeff King <hidden>
Date: 2016-06-15 22:47:00

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help