[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65720: [bug#66650] [PATCH] git: Shell out to ‘git gc’ when necessary
From: |
Christopher Baines |
Subject: |
bug#65720: [bug#66650] [PATCH] git: Shell out to ‘git gc’ when necessary. |
Date: |
Mon, 30 Oct 2023 12:02:59 +0000 |
User-agent: |
mu4e 1.10.5; emacs 28.2 |
Ludovic Courtès <ludo@gnu.org> writes:
> Fixes <https://issues.guix.gnu.org/65720>.
>
> 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: <https://libgit2.org/libgit2/#HEAD/search/pack>.
>
> 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.
signature.asc
Description: PGP signature