Hi Ludo, Thanks for explaining.
On Thu, 01 Sep 2022 at 09:42, Ludovic Courtès <l...@gnu.org> wrote: >> It means version 3 is used all the time, right? > > Yes. > >> Well, I miss when or where version 4 is used then. > > Generations that were created with a slightly older Guix have a > version-4 manifest. It means that the manifest of ~/.config/current is fixed “forever“ to version 3. And version 4 is only used by other profiles, e.g., created by ’guix package’. >> From my understanding, set #:format-version to 3 should only be >> considered when <hash> is a parent/ancestor of current commit in >> ’--commit=<hash>’. > > Here #:format-version 3 is unconditional. That avoids having to make > assumptions about whether or not the target commit understands newer > format versions. > > But you’re right: a refinement would be to use version 3 only when > targeting an ancestor. I don’t think it’s worth the trouble though. Ok, yeah it makes sense. The question could be revisited when the manifest of the profile ~/.config/current would require a version update. Cheers, simon