Subject: Re: bug#57306: guix pull to old commit fails due to unsupported manifest format

From: Ludovic Courtès <[email-masked]>
Date: Thu, 01 Sep 2022 09:42:00 +0200

Hi,

zimoun <[email-masked]> skribis:

> On Wed, 31 Aug 2022 at 13:06, Ludovic Courtès <[email-masked]> wrote:
>
>> I fixed it in 67a6828b2bb821274757f686f7c685b664339a96 using the same
>> trick as earlier.
>
> 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.

> 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.

> Well, I do not remember all the discussion about --allow-downgrades.
> For instance, why is
>
>      $ guix pull --commit=6f75565b -p /tmp/test
>
> not complaining about downgrade?  Because it is a downgrade. :-)

Whether it’s a downgrade depends on what’s in /tmp/test when you run it.

Thanks,
Ludo’.