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

Re: git log -Sfoo ignores indentation (whitespace?) changes...

From
Jeff King <peff@peff.net>
Date
Mar 3, 2009, 15:23 UTC
Message-ID
<20090303152333.GB24593@coredump.intra.peff.net>
In-Reply-To
<49AD3E78.1050706@sneakemail.com>
On Tue, Mar 03, 2009 at 03:28:08PM +0100, "Peter Valdemar Mørch (Lists)" wrote:
Show 5 quoted lines
> Commits where only the indentation of 'foo' is changed are not shown with 
> "git log -Sfoo". Is there any way to force showing them along with other 
> changes involving foo? (E.g. for python, indentation matters!)
>
> Why doesn't the second commit show up in the following?

Because you misunderstand how "-S" works (but don't worry, it's not your fault -- the documentation is somewhat misleading). The documentation says:

  -S<string>
    Look for differences that contain the change in <string>.

but what it actually does is find changes where the string was introduced or removed. So it literally counts the number of occurences before and after the commit, and the commit is interesting if they are not equal.

Show 8 quoted lines
> # Create text containing 'line' without whitespace
> $ echo 'line' > text
> $ git add text
> $ git commit -m "first" text
>
> # Here, I add one space of indentation in front of 'line'
> $ echo ' line' > text
> $ git commit -m "second" text

So "line" wasn't actually changed. It just happens to be on a line which _did_ change.

> I would like to see both "first" and "second" somehow - can I do that?

I don't think there's an easy way to do this right now; you would need to do "git log -p" and search through the output to get what you want (I often do this just using the pager's search function).

-Peff
Previous: Peter Valdemar Mørch (Lists)Next: Jeff King
Message 2 of 17 in “git log -Sfoo ignores indentation (whitespace?) changes...”
  1. Peter Valdemar Mørch (Lists)Mar 3, 2009
  2. Jeff KingMar 3, 2009
  3. doc: clarify how -S worksJeff King, Mar 3, 2009
  4. John TapsellMar 3, 2009
  5. Jeff KingMar 3, 2009
  6. John TapsellMar 3, 2009
  7. Junio C HamanoMar 3, 2009
  8. Jeff KingMar 3, 2009
  9. John TapsellMar 3, 2009
  10. Jeff KingMar 3, 2009
  11. Junio C HamanoMar 3, 2009
  12. Peter Valdemar Mørch (Lists)Mar 3, 2009
  13. Jeff KingMar 3, 2009
  14. Junio C HamanoMar 3, 2009
  15. Michael J GruberMar 3, 2009
  16. Jeff KingMar 3, 2009
  17. Junio C HamanoMar 3, 2009

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.