Subject: Re: [bug#65229] [PATCH 1/2] pull, time-machine: Add '-q' to ignore channel files.

From: Ludovic Courtès <[email-masked]>
Date: Thu, 17 Aug 2023 10:56:59 +0200

Hi,

Simon Tournier <[email-masked]> skribis:

> On Fri, 11 Aug 2023 at 17:34, Ludovic Courtès <[email-masked]> wrote:

[...]

>> -will thus build the package @code{hello} as defined in the master branch,
>> -which is in general a newer revision of Guix than you have installed.
>> -Time travel works in both directions!
>> +will thus build the package @code{hello} as defined in the main branch
>
> Why not the master branch?  Is the branch renamed from ’master’ to
> ’main’?  If not, I would keep the explicit master branch in order to
> avoid confusion.

The “main branch” is the branch currently called ‘master’ (I think we
should rename it to ‘main’ eventually, but I’d have written @code{main}
if I wanted to imply it’s called that way).

>> +of Guix, without any additional channel, which is in general a newer
>> +revision of Guix than you have installed.  Time travel works in both
>> +directions!
>
> Well, I would keep the previous example because the behaviour appears to
> me more prone-error.  I mean, by default, there is no channels.scm file
> under ~/.config/guix/ or /etc/guix, therefore an explanation of the
> behaviour without any option at all appears to me worth.  Moreover,
> since there is no channels.scm file by default, i.e., the default is
> %default-channels, it appears to me weird to explain the specific
> behaviour (without any option and reaching new revision) using an option
> turning off the channels.scm file.

I thought that we cannot easily describe what ‘guix time-machine --
build hello’ does, precisely because it depends on whether
‘channels.scm’ files are present and on what they do.  Conversely,
explaining what happens with ‘-q’ is trivial because it doesn’t depend
on external state.

Anyway, I’ll try and reword that.

>> diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
>
>> +  (display (G_ "
>> +  -q                     inhibit loading of user and system 'channels.scm'"))
>
> [...]
>
>> diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm
>
>> +  (display (G_ "
>> +  -q                     inhibit loading of user and system 'channels.scm'"))
>
> No long option?  As --no-channel-files or --ignore-channel-files ?

Yeah, I thought we’d follow ‘guix repl’ and ‘guile’, which have no long
option, but maybe we should add ‘--no-channel-files’.

Thanks you; I’ll send a new version.

Ludo’.