From: Junio C Hamano <gitster@pobox.com>
To: sverre@rabbelier.nl
Cc: "Jeff King" <peff@peff.net>, "Andreas Ericsson" <ae@op5.se>,
"Wincent Colaiuta" <win@wincent.com>,
"Eric Raible" <raible@gmail.com>,
"Git Mailing List" <git@vger.kernel.org>,
"Nicolas Pitre" <nico@cam.org>
Subject: Re: [PATCH 2/2] git-gc: skip stashes when expiring reflogs
Date: Fri, 13 Jun 2008 12:21:20 -0700 [thread overview]
Message-ID: <7v3anhuonj.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <bd6139dc0806130333n2cfbc564k79ed5562f14fc848@mail.gmail.com> (Sverre Rabbelier's message of "Fri, 13 Jun 2008 12:33:41 +0200")
"Sverre Rabbelier" <alturin@gmail.com> writes:
> On Fri, Jun 13, 2008 at 11:47 AM, Junio C Hamano <gitster@pobox.com> wrote:
>
> <big snip>
>
>> But let's not talk nor think about per-branch stash for now. How does the
>> "keep" thing sound to people?
>
> I'm divided on this:
> OOH: I like the idea of having a keep command to mark stashes as
> valuable, making them not expire until dropped explicitly. Such a
> feature would also encourage user to go through their stashes every
> now and then and decide which ones are valuable, and which ones were
> indeed not that valuable and may be dropped.
>
> OTOH: I dislike the idea of 'forcing' the users to go through their
> stashes lest they lose their work.
The latter argument is somewhat misguided.
To stash is like putting something in /tmp on a system that runs a cron
job to clean out cruft from there once in a while. Another analogy is to
spitting an information out to syslog, so that it is kept until logs are
rotated.
If you want permanent storage, you do not store it in somewhere that is
designed to have automated rotation or pruning. Instead, you would create
a file somewhere in your $HOME or use a branch. It is natural that you do
not have perfect foresight --- so after putting something in /tmp, you may
wish that you can somehow say retroactively that some things you placed
earlier in /tmp are more valuable than others. "keep" was an example of
how you _could_ express that wish. In other words, you are not _forced_
to, but you are merely given an opportunity to do so.
I do not personally care too deeply about the "keep" approach. An easier
to explain (and perhaps easier to implement, too) alternative would be to
have a per-ref configuration variable that specifies the reflog retention
period per ref, e.g. "git config reflog.refs/stash.expire never".
I however mildly suspect that the stash configured as such would end up to
be a lot worse than the current behaviour in practice. It would make
crufts easily accumulate in the stash, making it harder to find gems, and
as a consequence of that, encouraging you to say "stash clean" or "stash
drop" more often, risking accidental removal of what you did not intend
to (for this exact reason I earlier -- much earlier than the current
thread -- even thought about suggesting to make the reflog expiry period
much shorter than the usual ref).
But at that point it is user shooting his foot off ;-)
next prev parent reply other threads:[~2008-06-13 19:22 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <OLvkESB0JjBNs9kF8Q2M5UFNBJqq4FjbgGeQVyWstGwcXqCOq16_oomM0y-utOBbV7BnndyrICE@cipher.nrlssc.navy.mil>
2008-06-11 21:29 ` [PATCH 2/2] git-gc: skip stashes when expiring reflogs Brandon Casey
2008-06-11 21:36 ` Mike Hommey
2008-06-11 21:44 ` Johannes Schindelin
2008-06-11 23:03 ` Jeff King
2008-06-11 23:21 ` Nicolas Pitre
2008-06-12 4:32 ` Eric Raible
2008-06-12 5:35 ` Wincent Colaiuta
2008-06-12 14:14 ` Nicolas Pitre
2008-06-12 20:13 ` Junio C Hamano
2008-06-12 20:35 ` Eric Raible
2008-06-12 20:51 ` Junio C Hamano
2008-06-12 21:36 ` Eric Raible
2008-06-13 4:52 ` Johannes Schindelin
2008-06-13 8:43 ` Wincent Colaiuta
2008-06-13 9:13 ` Jeff King
2008-06-13 21:41 ` Johannes Schindelin
2008-06-13 23:33 ` Christian Jaeger
2008-06-14 8:58 ` Wincent Colaiuta
2008-06-14 23:59 ` しらいしななこ
[not found] ` <200806142359.m5ENxsBL028758@mi0.bluebottle.com>
2008-06-15 4:00 ` Johannes Schindelin
[not found] ` <200806142359.m5ENxsBI028758 @mi0.bluebottle.com>
2008-06-15 5:07 ` Junio C Hamano
2008-06-16 3:33 ` Eric Raible
2008-06-16 7:21 ` Junio C Hamano
2008-06-17 9:05 ` Johannes Schindelin
2008-06-17 21:54 ` Junio C Hamano
2008-06-18 15:25 ` Johannes Schindelin
2008-06-18 18:58 ` Junio C Hamano
2008-06-16 16:30 ` Brandon Casey
2008-06-16 16:52 ` Jakub Narebski
2008-06-13 12:05 ` Mikael Magnusson
2008-06-12 21:27 ` Brandon Casey
2008-06-12 21:46 ` Junio C Hamano
2008-06-12 22:10 ` Brandon Casey
2008-06-13 3:45 ` しらいしななこ
2008-06-13 4:26 ` Andreas Ericsson
2008-06-13 5:58 ` Jeff King
2008-06-13 7:16 ` Andreas Ericsson
2008-06-13 7:42 ` Jeff King
2008-06-13 8:11 ` Andreas Ericsson
2008-06-13 8:51 ` Jakub Narebski
2008-06-13 8:56 ` Sverre Rabbelier
2008-06-13 9:10 ` Jeff King
2008-06-13 11:14 ` Miles Bader
2008-06-13 9:47 ` Junio C Hamano
2008-06-13 10:05 ` Jakub Narebski
2008-06-13 10:33 ` Sverre Rabbelier
2008-06-13 17:31 ` Olivier Marin
2008-06-13 19:21 ` Junio C Hamano [this message]
2008-06-13 19:35 ` Wincent Colaiuta
2008-06-13 19:42 ` Brandon Casey
2008-06-13 19:49 ` Olivier Marin
2008-06-14 1:16 ` しらいしななこ
2008-06-13 12:40 ` Wincent Colaiuta
2008-06-13 13:11 ` Jeff King
2008-06-13 17:03 ` Olivier Marin
2008-06-13 13:54 ` Jon Loeliger
2008-06-13 16:54 ` Brandon Casey
2008-06-11 23:25 ` Brandon Casey
2008-06-12 4:18 ` Jeff King
2008-06-12 16:46 ` Brandon Casey
2008-06-13 5:48 ` Jeff King
2008-06-13 8:41 ` Wincent Colaiuta
2008-06-13 8:53 ` Sverre Rabbelier
2008-06-13 9:07 ` Teemu Likonen
2008-06-13 9:04 ` Jeff King
2008-06-13 11:22 ` Miles Bader
2008-06-13 16:43 ` Brandon Casey
2008-06-13 17:30 ` Jeff King
2008-06-11 22:35 ` Brandon Casey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v3anhuonj.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=nico@cam.org \
--cc=peff@peff.net \
--cc=raible@gmail.com \
--cc=sverre@rabbelier.nl \
--cc=win@wincent.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).