Re: [PATCH 2/2] git-gc: skip stashes when expiring reflogs
- From
しらいしななこ <nanako3@bluebottle.com>
- Date
- Jun 13, 2008, 03:45 UTC
- Message-ID
- <200806130345.m5D3jjPE011619@mi0.bluebottle.com>
- In-Reply-To
- <7vhcbyz5pp.fsf@gitster.siamese.dyndns.org>
Quoting Junio C Hamano <gitster@pobox.com>: writes:
Show 16 quoted lines
> Brandon Casey <casey@nrlssc.navy.mil> writes: > >> The fact that this caveat is not mentioned anywhere in the stash >> documentation or anywhere in the commit log related to git-stash.sh makes >> me think that this idea of 'a limited amount of time' was possibly not a >> design decision but merely a side effect of stashes being implemented using the >> reflog. Of course I didn't pay any attention to the discussions about stash >> back when it was implemented, so I may definitely be wrong. > > I do not deeply care either way, but perhaps > > http://thread.gmane.org/gmane.comp.version-control.git/50737/focus=50863 > > and yes use of reflog was more or less conscious thing and the mechanism > is very much temporary in nature (see the use case stated in the starting > thread).
After reading the thread, I reread the manual page.
I agree with some people that it would be nicer if the documentation spelled out the temporary nature of the stashed states better.
-- 8< -- (^_^) -- >8 --
Improved git-stash documentation
The examples in the manual talk temporary operation but it is not a strong enough hint that the stashed states are temporary in nature and designed to be automatically pruned away when gc runs.
Signed-off-by: Nanako Shiraishi <nanako3@bluebottle.com> ---
Documentation/git-stash.txt | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt index baa4f55..65f6af7 100644 --- a/Documentation/git-stash.txt +++ b/Documentation/git-stash.txt @@ -14,10 +14,11 @@ SYNOPSIS DESCRIPTION ----------- -Use 'git-stash' when you want to record the current state of the -working directory and the index, but want to go back to a clean -working directory. The command saves your local modifications away -and reverts the working directory to match the `HEAD` commit. +`git-stash` records the current state of the work tree and the index, and +reverts them to the state after freshly checking out the current commit. +You can temporarily switch to work on something different, and once you +finished handling the emergency, you can come back to the state before you +were interrupted. The modifications stashed away by this command can be listed with `git-stash list`, inspected with `git-stash show`, and restored @@ -84,6 +85,9 @@ longer apply the changes as they were originally). clear:: Remove all the stashed states. Note that those states will then be subject to pruning, and may be difficult or impossible to recover. + Old stashed states are also pruned automatically when + linkgit:git-gc[1] prunes old reflog (see linkgit:git-reflog[1]) + entries. drop [<stash>]::
-- Nanako Shiraishi http://ivory.ap.teacup.com/nanako3/ ---------------------------------------------------------------------- Get a free email address with REAL anti-spam protection. http://www.bluebottle.com/tag/1