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

From: Simon Tournier <[email-masked]>
Date: Wed, 16 Aug 2023 14:59:35 +0200

Hi Ludo,

Cool addition!

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

> -As for @command{guix pull}, the absence of any options means that the
> -latest commit on the master branch will be used.  The command
> +As for @command{guix pull}, in the absence of any options,
> +@command{time-machine} fetches the latest commits of the channels
> +specified in @file{~/.config/guix/channels.scm},
> +@file{/etc/guix/channels.scm}, or the default channels; the @option{-q}
> +option lets you ignore these configuration files.  The command:
>  
>  @example
> -guix time-machine -- build hello
> +guix time-machine -q -- build hello
>  @end example
>  
> -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.

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

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

Cheers,
simon