git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: Josh Triplett <josh@joshtriplett.org>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: gc and repack ignore .git/*HEAD when checking reachability
Date: Fri, 8 Jul 2016 13:30:06 -0700	[thread overview]
Message-ID: <CAPc5daWDi1P-xFaEYf1zzz7m3g9wengQPjRzxhgu6jVM9AKtyQ@mail.gmail.com> (raw)
In-Reply-To: <20160708192504.GL19871@thunk.org>

On Fri, Jul 8, 2016 at 12:25 PM, Theodore Ts'o <tytso@mit.edu> wrote:
> On Fri, Jul 08, 2016 at 10:14:33AM -0700, Junio C Hamano wrote:
>>
>> It cannot be "anything directly under .git that has all-caps name
>> that ends with _HEAD".  The ones we write we know are going to be
>> removed at some point in time (e.g. "git reset", "git bisect reset",
>> "git merge --abort", etc.).  We do not have any control on random
>> ones that the users and third-party tools leave behind, holding onto
>> irrelevant objects forever.
>
> What about anything that is all-caps and ends in _HEAD which has a
> mod-time within the last N days?  (Where N is 2-7 days.)  If it's
> older than that, it's almost certainly stale...

I can imagine I'd start hacking on a project that I rarely touch, give up
resolving a "git pull" from an unconfigured place (hence, some stuff is
only reachable from FETCH_HEAD), and after 2*N days, come back
to the repository and find that I cannot continue working on it.

Turning the rule to "*_HEAD we know about, and those we don't that
are young" would not change the situation, as I may be depending on
some third-party tool that uses its OWN_HEAD just like we use
FETCH_HEAD in the above example.

So I dunno if that is a good solution. If we are going to declare that
transient stuff will now be kept, i.e. keeping them alive is no longer
end user's responsibility, then probably we should make it end user's
responsibility to clean things up.

  reply	other threads:[~2016-07-08 20:30 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08  2:59 gc and repack ignore .git/*HEAD when checking reachability Josh Triplett
2016-07-08  4:34 ` Junio C Hamano
2016-07-08  6:44   ` Josh Triplett
2016-07-08 17:14     ` Junio C Hamano
2016-07-08 19:25       ` Theodore Ts'o
2016-07-08 20:30         ` Junio C Hamano [this message]
2016-07-08 23:50           ` Theodore Ts'o
2016-07-09  5:23             ` Josh Triplett
2016-07-08 20:29       ` Josh Triplett
2016-07-09  7:35       ` Johannes Schindelin
2016-07-09 14:09         ` Josh Triplett
2016-07-09 16:45           ` Duy Nguyen
2016-07-10 10:59             ` Johannes Schindelin
2016-07-10 11:04               ` Duy Nguyen
2016-07-10 14:16                 ` Johannes Schindelin
2016-07-10 15:01                   ` Duy Nguyen
2016-07-11  6:07                     ` Johannes Schindelin
2016-07-11 18:52                   ` Junio C Hamano
2016-07-12 10:47                     ` Johannes Schindelin
2016-07-12 15:26                       ` Jeff King
2016-07-12 15:46                         ` Duy Nguyen
2016-07-12 15:51                           ` Jeff King
2016-07-12 16:13                             ` Duy Nguyen
2016-07-13  8:20                               ` Johannes Schindelin
2016-07-13 14:54                                 ` Duy Nguyen
2016-07-13 18:59                                   ` Johannes Schindelin
2016-07-15 15:46                                     ` Duy Nguyen

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=CAPc5daWDi1P-xFaEYf1zzz7m3g9wengQPjRzxhgu6jVM9AKtyQ@mail.gmail.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=josh@joshtriplett.org \
    --cc=tytso@mit.edu \
    /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).