Subject: Re: Multiple user questions

From: Dennis Schridde <[email-masked]>
Date: Sat, 7 Jun 2008 00:15:29 +0200

Am Freitag, 6. Juni 2008 23:19:49 schrieben Sie:
> Dennis Schridde wrote:
> > I just ran into a lost stash again and thus would like to get an answer
> > to this question, which was forgotten last time:
> > (lost-found is really growing in a pace it will take me very long to find
> > my lost stash.)
>
> How did you lose it?
>
> If you did 'git stash drop' and then realized that you dropped the wrong
> stash, you can apply that stash and then recreate it since 'stash drop'
> also prints out the sha1 and 'stash apply' can use that.
>
> For example:
>
>    # edit edit edit
>    $ git stash
>    # hmm I don't need that old stash anymore
>    $ git stash drop
>    Dropped refs/stash@{0} (5dcea62df980fa157e7755f82125dfc3bbd52ff5)
>    # whoops I didn't mean to drop _that_ stash
>    $ git stash apply 5dcea62df980fa157e7755f82125dfc3bbd52ff5
>    $ git stash
>
> Of course, that only works if you realize pretty quickly that you dropped
> the wrong stash. Also realize my example was rather simplified and the
> working directory may need to be prepped before reapplying the dropped
> stash.
It was indeed too late. (I assumed to have rerecorded the stash, but later 
realised that the new stash contained only parts of the changes.)

I am now using this script:
for commit in $(git fsck --full --lost-found | grep commit | awk '{print 
$3}') ; do
        git show ${commit} | head -n7 | \
                grep "On ${branch}:" | grep "${message}" > /dev/null \
                && git show ${commit} | head -n7
done

Though that list grows pretty long, so I would like to cut down the output of 
fsck-lost-found after I am sure nothing worthy is "lost" anymore.

--Dennis