Subject: Re: bug#76407: [GCD] A better name for the default branch

From: Ludovic Courtès <[email-masked]>
Date: Sun, 23 Feb 2025 15:42:49 +0100

Hi Liliana,

Liliana Marie Prikler <[email-masked]> skribis:

> +For Guix itself, we would decide on a **flag day** 14 days after
> +acceptance of this GCD at the earliest, and 30 days at the latest.
> +On that day, the main development branch would become "main".
> +A commit would reflect that by updating:
> +
> +  1. the `branch` field in `.guix-channel`;
> +  2. the `branch` field of `%default-guix-channel` in `(guix channels)`;
> +  3. any other reference to the "master" branch of the Guix repository
> +     that may appear in the repository (in particular the Manual Updates
> +     above).

Consider this scenario: I have a machine that I upgrade once every two
months.  By the time the switchover is done, my machine still has
‘master’ in its ‘%default-guix-channel’ in its Guix.  Thus, when I run
‘guix pull’, I’ll end up pulling ‘master’, which (the GCD does not
clarify this) will either fail because the branch has been removed
altogether, or will give me an old snapshot.

Thus, I think the GCD should propose to keep updating the ‘master’
branch as a mirror of ‘main’ for, say, a year (a cron job can take care
of that).

Also, instead of changing the ‘branch’ field, I would suggest adopting
and finalizing <https://issues.guix.gnu.org/49252> and leaving ‘branch’
unset so that the server-side default branch is taken.

>+## Choice of branch name

I’m not convinced this section is necessary.  :-)

> +The repository update path in this GCD is only valid as long as it is
> +simultaneously upheld by other, similar GCDs.  Again GCD 002 ‘Migrating
> +repositories, issues, and patches to Codeberg’ needs to be considered as
> +a possibly simultaneous change.

I don’t think this has to be simultaneous: both changes bring the
potential for breakage if we’re not careful enough, but it’s probably
best to deal with a single class of breakage at a time.

Also, perhaps clarify that this GCD is valid whether or not GCD 002 is
adopted.

Apart from that, it LGTM!

Ludo’.