"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?
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
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