Re: [PATCH 2/2] git-gc: skip stashes when expiring reflogs
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- Jun 11, 2008, 23:25 UTC
- Message-ID
- <co7kgJpJNdIs2f8n_PwYKAS7MwV9t1G_P3BPr1eXTZ4ytUHcsPvVaw@cipher.nrlssc.navy.mil>
- In-Reply-To
- <20080611230344.GD19474@sigill.intra.peff.net>
Jeff King wrote:
Show 19 quoted lines
> On Wed, Jun 11, 2008 at 10:44:17PM +0100, Johannes Schindelin wrote: > >> FWIW I thought it was one of the clever designs of git-stash that it >> automatically expires together with the other reflogs. A stash is only a >> temporary thing, that is not even meant to leave the local repository, >> after all. > > I agree. If you are concerned about valuable stashes getting deleted, my > guess is one of: > > - you would like reflog expiration to be longer > > - you are using stash as a long-term storage, which it was never > intended for. Use a branch. > > The latter, of course, is based on my use and my impression of others > use (I almost always apply a stash within 30 seconds of having stashed > it). So maybe everyone is keeping stashes around for months, and this is > a useful change.
Yes, I think usually stashes are used for very short term storage. At the same time, I don't expect a stash (however old) to disappear without me explicitly deleting it.
In particular, I don't want to experience this:
$ git stash list stash@{0}: WIP on master: 8c372fb... git-cvsimport: do not fail when CVS is / $ git pull $ git stash apply fatal: Needed a single revision : no valid stashed state found
This would not _surprise_ me since I understand how stashes are implemented _and_ that git-pull could cause git-gc to run which runs 'git-reflog expire' which may remove entries from the stash reflog, but it is probably not expected by most users and it would still irritate me if it did happen.
-brandon