Re: Forcing GC to always fail
- Date: Wed, 28 Nov 2018 18:51:28 -0800
- From: Bryan Turner <bturner@xxxxxxxxxxxxx>
- Subject: Re: Forcing GC to always fail
On Wed, Nov 28, 2018 at 5:19 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
> > Another issue with the canned steps for "git gc" is that it means it
> > can't be used to do specific types of cleanup on a different schedule
> > from others. For example, we use "git pack-refs" directly to
> > frequently pack the refs in our repositories, separate from "git
> > repack" + "git prune" for repacking objects. That allows us to keep
> > our refs packed better without incurring the full overhead of
> > constantly building new packs.
> I am not sure if the above is an example of things that are good.
> We keep individual "pack-refs" and "rev-list | pack-objects"
> available exactly to give finer grained control to repository
> owners, and "gc" is meant to be one-size-fits-all easy to run
> by end users. Adding options to "git gc --no-reflog --pack-refs"
> to complicate it sounds somewhat backwards.
I think we're in agreement there. I was citing the fact that GC isn't
good for targeted maintenance as a reason why we use "pack-refs"
directly, which sounds like what you're saying as well. I don't think
that inflating GC with options to skip specific steps is a good idea,
but that does mean that, for those targeted operations, we need to use
the lower-level commands directly, rather than GC.