Subject: bug#65720: Guile-Git-managed checkouts grow way too much

From: Simon Tournier <[email-masked]>
Date: Thu, 07 Sep 2023 02:41:54 +0200

Hi,

On Tue, 05 Sep 2023 at 16:18, Ludovic Courtès <[email-masked]> wrote:

> It would also be pretty bad for closure size:
>
> --8<---------------cut here---------------start------------->8---
> $ guix size guile-git | tail -1
> total: 106.6 MiB
> $ guix size guile-git git-minimal | tail -1
> total: 169.8 MiB
> --8<---------------cut here---------------end--------------->8---
>
> It’s also not clear concretely how we’d add that dependency.  Try
> invoking ‘git’ from $PATH and print a warning if it doesn’t work?
> But then, what about applications like Cuirass and hpcguix-web?

I think we can rely on something like,

    guix shell -C git-minimal -- git gc

It would be invoked internally using the Scheme API for inferiors and
friends.  Doing so, it would add nothing to the closure size.

It appears to me safe to assume that this command can be run from any
Guix installation.  Since the Git GC would only be done once every X Git
fetches, the overhead would be much lower.

Hum, am I repeating myself [1]? :-)

And I would run this “git gc” via “guix gc”, not via “guix pull”.  Well,
I do not like all these automatic removals happening based on date
(last-expiry-cleanup) with some usual commands.  It always happens when
I do not want. ;-) Contrary to “guix gc”.  Bah, another story. :-)

Cheers,
simon

1: bug#65720: Guile-Git-managed checkouts grow way too much
Simon Tournier <[email-masked]>
Tue, 05 Sep 2023 20:59:07 +0200
id:[email-masked]
https://issues.guix.gnu.org//65720
https://issues.guix.gnu.org/msgid/[email-masked]
https://yhetil.org/guix/[email-masked]