Quoting Junio C Hamano <gitster@xxxxxxxxx>: writes: > Brandon Casey <casey@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html