On Wed, Apr 7, 2021 at 5:10 AM Bagas Sanjaya <bagasdotme@xxxxxxxxx> wrote: > > Hi, > > I request that git gc should have --repack-arguments option. The value > of this option should be passed to git repack. > > The use case is when I have very large repos (such as GCC and Linux kernel) > on a server with small RAM (1-2 GB). When doing gc on such repo, the repack > step may hang because git-repack have to create single large packfile which > can be larger than available memory (RAM+swap), so it must be necessary to > do git repack --window-memory=<desired memory usage> --max-pack-size=<desired > pack size> to create split and smaller packs instead. I can't speak to the feature request, but since there are configuration knobs already for both of those, that implies you can use git -c pack.windowMemory=... -c pack.packSizeLimit=... gc and those configuration settings will be propagated to the git repack process that git gc runs. > > There should also git config item gc.repackArguments, which have the same > effect as git gc --repack-arguments, with the option takes precedence over > the config. Passing configuration settings as I show above would already take precedence over any config file, since config from the command line is higher priority. Hope this helps! Bryan