help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GC hints


From: Ludovic Courtès
Subject: Re: GC hints
Date: Tue, 08 Jan 2019 23:27:46 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi,

Mark H Weaver <address@hidden> skribis:

> Chris Marusich <address@hidden> writes:
>
>> Mark H Weaver <address@hidden> writes:
>>
>>> Hi Ludovic,
>>>
>>> Ludovic Courtès <address@hidden> writes:
>>>
>>>> Actually, I was also wondering whether we should provide a configurable
>>>> mechanism that would, by default, automatically delete old GC roots and
>>>> maybe even run the GC automatically when needed—similar to what Git
>>>> does.
>>>>
>>>> Thoughts?
>>>
>>> I think it's reasonable to automatically run GC by default, but I would
>>> strongly advise against deleting GC roots automatically by default
>>> without the user's knowledge and consent.
>>
>> Just to be clear, I agree with you, Mark.  Guix shouldn't delete GC
>> roots automatically by default.  I think we were just saying that it
>> might be nice if a user could configure Guix to automatically delete GC
>> roots according to some policy (e.g., retain the last 2, and delete any
>> others older than 1 month).  Guix would only delete the GC roots
>> according to the policy that the user has set, and if no policy has been
>> set, the default would be not to delete any of the GC roots.
>
> As long as it's not the default behavior, I think this would be a nice
> feature to have.

Yes, that would sound like a reasonable default to me.

Thinking more about it, we could imagine the equivalent of Git packs:
for old generations, we’d remove the GC root itself, but we’d store
metadata that would allow us to rebuild the thing.

That’s not always possible in general, but in some cases it is: for
‘guix pull’ profiles, we’d just need to store the channel commits and
URLs, and that’s all it’d take to rebuild them.  We could arrange for
‘guix pull -l’ to traverse these seamlessly.

For ~/.guix-profile we could perhaps keep a GC root to the profile’s
derivation but not the profile itself.  That way you could still rebuild
things afterwards.

Anyway, that’s very much science fiction at this point.

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]