Subject: bug#65720: [bug#66650] [PATCH] git: Shell out to ‘git gc’ when necessary.

From: Simon Tournier <[email-masked]>
Date: Tue, 14 Nov 2023 10:32:41 +0100

Hi,

On Tue, 14 Nov 2023 at 10:19, Ludovic Courtès <[email-masked]> wrote:

> Any other comments?  I’d like to push the patch within a few days if
> there are no objections.

As mentioned in [1],

>> * 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(-)

LGTM.  Just two colors for the bikeshed. :-)

>> +  (when (> (packs-in-git-repository directory) 25)

Why 25?  And not 10 or 50 or 100?

>>  (define* (update-cached-checkout url
>>                                   #:key
>>                                   (ref '())
>> @@ -515,6 +545,9 @@ (define* (update-cached-checkout url
>>                     seconds seconds
>>                     nanoseconds nanoseconds))))
>>  
>> +       ;; Run 'git gc' if needed.
>> +       (maybe-run-git-gc cache-directory)

Why not trigger it by “guix gc”?

Well, I expect “guix gc” to take some time and I choose when.  However,
I want “guix pull” or “guix time-machine” to be as fast as possible and
here some extra time is added, and I cannot control exactly when.

Cheers,
simon

1: bug#65720: [PATCH] git: Shell out to ‘git gc’ when necessary.
Simon Tournier <[email-masked]>
Mon, 23 Oct 2023 12:08: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]