Subject: Re: [bug#41882] [PATCH] channels: Allow specifying per-channel --allow-downgrades in the channel file

From: Ludovic Courtès <[email-masked]>
Date: Thu, 18 Jun 2020 13:59:11 +0200

Hi,

Jakub Kądziołka <[email-masked]> skribis:

>> > It gets tiring to have to specify --allow-downgrades when pulling, so I
>> > added a way of specifying it in the channels file. As a bonus, it's more
>> > granular.
>> >
>> > If this is the right approach, I'll add some docs. Also, is there a test
>> > that exercises this function?
>> 
>> I don’t think “allow-downgrade?” should be a property of <channel>,
>> because conceptually it’s an unrelated piece of configuration.  So I
>> think it’s configuration that belongs elsewhere, but there’s no
>> configuration file for ‘guix pull’ etc.
>
> It's a property of the channel that the git repo in question is not
> monotonic ;)

I don’t think we can meaningfully support channels that are rebased all
the time.  I agree it’s a use case for some developers, and we need to
accommodate for that, but I wouldn’t want a general mechanism to mark a
channel as non-monotonic.

> Also, AFAIU, the channels.scm *is* the configuration file for guix
> pull, and it is the primary, if not only use of <channel>.

The <channel> data structure is used by ‘guix pull’, ‘guix
time-machine’, and ‘guix describe’.  It’s the primary way to communicate
information about the set of channels being used.  So to me it’s very
much orthogonal to whether one wants to allow downgrades, allow
offloading, and enable colored output.  :-)

WDYT?

Thanks,
Ludo’.