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. Bryan