From: Bryan Turner <bturner@atlassian.com>
To: Andreas Krey <a.krey@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
Git Users <git@vger.kernel.org>
Subject: Re: Big repo not shrinking on repack or gc?
Date: Thu, 15 Jan 2015 18:05:46 +1100 [thread overview]
Message-ID: <CAGyf7-HMsBnim5yoOgyNJ2=HNpnW8ftvitarMc6UO-zTLfQkBA@mail.gmail.com> (raw)
In-Reply-To: <20150115063806.GH13247@inner.h.apk.li>
On Thu, Jan 15, 2015 at 5:38 PM, Andreas Krey <a.krey@gmx.de> wrote:
> On Thu, 15 Jan 2015 12:23:00 +0000, Bryan Turner wrote:
> ...
>> > Guess in the dark: "ls -l .git/objects/pack"
>> > Do you see any .keep files?
>
> Lots of. :-(
>
>> I'm one of the Stash developers and just noticed this thread. If the
>> repository in question has been forked via Stash there likely _will_
>> be .keep files. Stash uses alternates for forks, so it's possible, by
>> deleting those kept packs and pruning objects (which you've already
>> done I see) that you will corrupt, or have already corrupted, some
>> number of the forks.
>
> There are a few forks in this stash instance, but the repository in
> question is neither the source nor the destination of any.
>
> So, git seems to be mostly out of the equation now (gc and repack
> apparently doing what they are supposed to do), and the question
> moves to 'how can stash let such a repo grow to that size'.
>
>
>> (At the moment Stash packs "garbage" into a "dead
>> pack" which it flags with a .keep, to ensure forks don't lose access
>> to objects that once existed upstream that they still reference.)
>
> Does it do so in any case even if there is no actual fork? That would
> explain a lot - we are daily (force-)pushing new commit in there (and
> potentially big ones) that become garbage the next day, and should
> be cleaned up rather fast.
No, Stash will only do that in a repository which has been forked. In
any non-forked repository, Stash does not interact with garbage
collection in any way. Auto GC is left enabled, and all pruning
settings are left at their defaults. The default pruning interval is
two weeks, so if your development approach is rebase-heavy you may
need to adjust them.
What are the contents of some of those .keep files? If they're written
by Stash they contain a message saying so. ("GENERATED BY ATLASSIAN
STASH - DO NOT REMOVE")
>
> (We're pulling them into another non-stash repo for longer-term keeping -
> these are backups of dev repos in the form of git stash commits including
> untracked files.)
>
> Andreas
>
> --
> "Totally trivial. Famous last words."
> From: Linus Torvalds <torvalds@*.org>
> Date: Fri, 22 Jan 2010 07:29:21 -0800
next prev parent reply other threads:[~2015-01-15 7:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 11:51 Big repo not shrinking on repack or gc? Andreas Krey
2015-01-14 12:49 ` Jeff King
2015-01-14 13:07 ` Andreas Krey
2015-01-14 14:39 ` Andreas Krey
2015-01-14 16:00 ` Andreas Krey
2015-01-14 17:24 ` Junio C Hamano
2015-01-15 1:23 ` Bryan Turner
2015-01-15 6:38 ` Andreas Krey
2015-01-15 7:05 ` Bryan Turner [this message]
2015-01-15 7:43 ` Andreas Krey
2015-01-15 8:56 ` Bryan Turner
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='CAGyf7-HMsBnim5yoOgyNJ2=HNpnW8ftvitarMc6UO-zTLfQkBA@mail.gmail.com' \
--to=bturner@atlassian.com \
--cc=a.krey@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/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).