From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: GC hints Date: Tue, 08 Jan 2019 23:27:46 +0100 Message-ID: <87r2dmu6n1.fsf@gnu.org> References: <878t10xpam.fsf@ambrevar.xyz> <87wooj1fmx.fsf@gmail.com> <87efaqna9u.fsf@ambrevar.xyz> <87d0qana9e.fsf@ambrevar.xyz> <87k1kivmzt.fsf@ambrevar.xyz> <87h8f9y6cq.fsf_-_@gnu.org> <874lb8xupw.fsf@netris.org> <87y38j9t95.fsf@gmail.com> <87h8f4i69i.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:51676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ggzqi-0006W2-GM for help-guix@gnu.org; Tue, 08 Jan 2019 17:27:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ggzqh-0001KE-QF for help-guix@gnu.org; Tue, 08 Jan 2019 17:27:52 -0500 Received: from hera.aquilenet.fr ([2a0c:e300::1]:46542) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ggzqh-0001HY-Jn for help-guix@gnu.org; Tue, 08 Jan 2019 17:27:51 -0500 In-Reply-To: <87h8f4i69i.fsf@netris.org> (Mark H. Weaver's message of "Sun, 23 Dec 2018 10:58:38 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Mark H Weaver Cc: help-guix Hi, Mark H Weaver skribis: > Chris Marusich writes: > >> Mark H Weaver writes: >> >>> Hi Ludovic, >>> >>> Ludovic Court=C3=A8s 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=E2=80=94similar to wha= t 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=E2=80=99d remove the GC root itself, but we=E2=80= =99d store metadata that would allow us to rebuild the thing. That=E2=80=99s not always possible in general, but in some cases it is: for =E2=80=98guix pull=E2=80=99 profiles, we=E2=80=99d just need to store the c= hannel commits and URLs, and that=E2=80=99s all it=E2=80=99d take to rebuild them. We could a= rrange for =E2=80=98guix pull -l=E2=80=99 to traverse these seamlessly. For ~/.guix-profile we could perhaps keep a GC root to the profile=E2=80=99s derivation but not the profile itself. That way you could still rebuild things afterwards. Anyway, that=E2=80=99s very much science fiction at this point. Ludo=E2=80=99.