git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git log -S doesn't find some commits

From
BHBernt Hansen <bernt@norang.ca>
Date
Nov 5, 2008, 00:29 UTC
Message-ID
<877i7jrp67.fsf@gollum.intra.norang.ca>
In-Reply-To
<7vod0voy22.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 35 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
>> On Tue, 4 Nov 2008, Bernt Hansen wrote:
>>
>>> Commits B, C, and D are not included in the git log -S output even
>>> though with gitk you can see that 'org-publish-validate-link' is in the
>>> patch.
>>
>> It is not sufficient for it to be in the patch, it has to be added or 
>> deleted in whole.  So for example if you had a line
>>
>> 	org-publish-validate-link Hello
>>
>> and you changed it to
>>
>> 	org-publish-validate-link World
>>
>> git log -SWorld will find the commit, but git log 
>> -Sorg-publish-validate-link will not.
>
> It seems nobody has looked at the actual commits, but Dscho got it 80%
> right.
>
> There seems to be a misconception on what -S<foo> does.  It does *NOT*
> grep for string <foo> in the patch text.  It counts number of <foo> in
> preimage and postimage and decides that the commit is worth showing iff
> they differ.
>
> If you look at, for example (B):
>
>     http://repo.or.cz/w/org-mode.git?a=commitdiff;h=837c81ce51
>
> You can see that in org-publish.el, org-publish-validate-link appears once
> as removed and once as added, so the total number of the appearance of the
> symbol in preimage and postimage are the same.
Now I get it :)
Thanks both of you!

Regards, Bernt

Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 7 in “git log -S doesn't find some commits”
  1. Bernt HansenNov 4, 2008
  2. Pieter de BieNov 4, 2008
  3. Johannes SchindelinNov 4, 2008
  4. Junio C HamanoNov 4, 2008
  5. Bernt HansenNov 5, 2008
  6. Junio C HamanoNov 5, 2008
  7. Bernt HansenNov 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.