[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wishlist: “repack” generations history of profile
From: |
Ludovic Courtès |
Subject: |
Re: wishlist: “repack” generations history of profile |
Date: |
Mon, 30 May 2022 17:40:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
zimoun <zimon.toutoune@gmail.com> skribis:
> On Mon, 23 May 2022 at 17:42, Ludovic Courtès <ludo@gnu.org> wrote:
>
>> Exactly! ‘guix pull’ profiles are entirely reproducible: we can rebuild
>> them from the output of ‘guix describe’.
>>
>> So ‘guix gc’ (or something) could automatically remove old generation
>> symlinks and instead store the output of ‘guix describe’. That way,
>> ‘--list-generations’ or ‘--switch-generations’ could transparently
>> display the info or rebuild the generation.
>
> I have in mind to remove all except the manifest file.
[...]
> Or maybe, it is easier to remove as today but save the relevant
> information elsewhere. WDYT?
Yes, that ‘manifest’ file would have copied elsewhere (we can’t just
remove part of what’s in a /gnu/store directory).
> Today, I manually store the output of “guix describe” before I
> manipulate a profile. This channels.scm output is tracked by Git as
> part of my project. Then I run “git log” to find the previous state of
> interest and go back using,
>
> guix time-machine -C channels.scm -- shell -m manifest.scm
>
> which is fine and works well. Probably the good practise. :-)
>
> Instead of this external tracking, I would like to allow this workflow:
>
> guix package -p project --list-generations
> guix package -p project --switch-generation=12
>
> whatever the sysadmin collect about the old generations.
Do you expect ‘--list-generations’ to look at older revisions of your
version-controlled ‘manifest.scm’?
Ludo’.