Ludovic Courtès writes: > Fixes . > > This fixes a bug whereby libgit2-managed checkouts would keep growing as > we fetch. > > * guix/git.scm (packs-in-git-repository, maybe-run-git-gc): New > procedures. > (update-cached-checkout): Use it. > --- > guix/git.scm | 39 ++++++++++++++++++++++++++++++++++++--- > 1 file changed, 36 insertions(+), 3 deletions(-) > > Hi! > > This is a radical fix/workaround for the unbounded Git checkout growth > problem, shelling out to ‘git gc’ when it’s likely needed (“too many” > pack files around). > > I thought we might be able to implement a ‘git gc’ approximation using > the libgit2 “packbuilder” interface, but I haven’t got around to doing > it: . > > Once again, shelling out is not my favorite option, but it’s a bug we > should fix sooner rather than later, hence this compromise. > > Thoughts? This sounds good to me, the data service has this problem as well of cached checkouts that grow to be too large and this sounds like it'll address it.