threads / discuss / 11967

git log -S doesn't search stash WIPs

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

## tl;dr

3 messages between Feb 8, 2008 and Feb 9, 2008.

replies: 2people: 2as markdown or json

Jonathan del Strother· Feb 8, 2008, 10:46 UTC · lore

"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 <me@here.com>
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?

Johannes Schindelin· Feb 8, 2008, 12:18 UTC · re: Jonathan del Strother · lore

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

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

Jonathan del Strother· Feb 9, 2008, 15:18 UTC · re: Johannes Schindelin · lore

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

On Feb 8, 2008 12:18 PM, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 22 quoted lines
> 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

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

← back to recent threads