Re: [PATCH 2/2] git-gc: skip stashes when expiring reflogs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux