git log -S doesn't search stash WIPs

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

git log -S doesn't search stash WIPs

From: Jonathan del Strother <hidden>
Date: 2016-06-15 22:44:11

"git log --all -Sfoo" doesn't find strings introduced in stash WIP
commits, only the stash index.  That is, if I do :

$ echo foo >> file
$ git add file
$ echo bar >> file
$ git stash
Saved working directory and index state "WIP on master: 00495fc... initial"
(To restore them type "git stash apply")
HEAD is now at 00495fc... initial
$ git log --all -Sfoo
commit a8834ce80ebdf84e6579280c1fc75cdb7b4ac7c9
Author: Jonathan del Strother [off-list ref]
Date:   Fri Feb 8 10:43:44 2008 +0000

    index on master: 00495fc... initial
$ git log --all -Sbar
<this space intentionally left blank>


Is this intentional?  Am I missing some git-log option that would
allow me to search the stash WIPs?

Re: git log -S doesn't search stash WIPs

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:11

Hi,

On Fri, 8 Feb 2008, Jonathan del Strother wrote:
"git log --all -Sfoo" doesn't find strings introduced in stash WIP
commits, only the stash index.
It is a little unfortunate that a stash will do this:

HEAD ------- stash
    \       /
      index

In other words, the index will be "committed" as a regular commit, but the 
working directory will actually be a "merge commit".

So you need to add "--cc" to see the commit.

Further, the stash is not just a branch.  The stash is actually a stack of 
reflogs.  So could you try again, with

	$ git log --cc -Sfoo --walk-reflogs stash

?

Hth,
Dscho

Re: git log -S doesn't search stash WIPs

From: Jonathan del Strother <hidden>
Date: 2016-06-15 22:44:12

On Feb 8, 2008 12:18 PM, Johannes Schindelin [off-list ref] wrote:
Hi,

On Fri, 8 Feb 2008, Jonathan del Strother wrote:
quoted
"git log --all -Sfoo" doesn't find strings introduced in stash WIP
commits, only the stash index.
It is a little unfortunate that a stash will do this:

HEAD ------- stash
    \       /
      index

In other words, the index will be "committed" as a regular commit, but the
working directory will actually be a "merge commit".

So you need to add "--cc" to see the commit.

Further, the stash is not just a branch.  The stash is actually a stack of
reflogs.  So could you try again, with

        $ git log --cc -Sfoo --walk-reflogs stash

Hmmm, I'm a little fuzzy on why --cc helps, though it looks like
either or both of --cc and --walk-reflogs will do the trick.
Thanks for the help
Jon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help