GNU bug report logs - #76407
[GCD] A better name for the default branch

Previous Next

Package: guix-patches;

Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Date: Tue, 18 Feb 2025 22:07:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 76407 <at> debbugs.gnu.org
Cc: info-guix <at> gnu.org
Subject: [bug#76407] [GCD] A better name for the default branch
Date: Fri, 21 Feb 2025 19:16:33 +0100
Hi,

On Tue, 18 Feb 2025 at 23:14, Liliana Marie Prikler <liliana.prikler <at> gmail.com> wrote:

> +## Repository Update Path
> +
> +For a complete list of repositories associated with the Guix project,
> +see GCD 002 ‘Migrating repositories, issues, and patches to Codeberg’.
> +Most repositories can rename their default branch with no issue
> +(see also Cost of Reverting below).
> +
> +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).
> +
> +Following this commit, an entry in `etc/news.scm` would explain the
> +migration.  The `master` branch would then point at the commit of said
> +news entry, and would need to be updated only after said news are
> +translated into another language.  The `master` branch may keep following
> +the `main` branch for a grace period of 30 days anyways.
> +
> +Even after the `master` branch no longer syncs up to main, it may be
> +important to still have it pointing at some commit.  Old installation
> +media, handcrafted `channels.scm`, external documentation and scripts
> +may all still be referring to the `master` branch even long after the
> +rename (see also Cost of Reverting below).  To ensure that these do
> +not fail immediately, the old branch shall not be deleted until
> +
> +1. at least one year has passed since this GCD has been accepted, AND
> +2. enough Guix releases have been made in the meantime, meaning
> +   a. at least one major release, OR
> +   b. at least three minor releases.

My current profile is:

        $ guix describe
        Generation 8	Sep 09 2024 15:14:29	(current)
          guix 056910e
            repository URL: https://git.savannah.gnu.org/git/guix.git
            commit: 056910ec864cb7cf3225a0c27679d94405db7dcd

And many people upgrade guix-daemon less than once a year. :-)

My point is: I’m not sure that a grace period of 30 days will be enough
considering the time to spread the word.  But, hey we need to bound
somewhere. :-)

Therefore, maybe we could imagine that the last commit pushed master
introduce a double pull.

Assume I still run this 056910e and we are after the grace period.  I
run “guix pull” so it fetch the last commit of master.  Now, when I run
again “guix pull”, I will get the last commit of main.  This second pull
could be transparent for me.

In other words, I still run this 056910e and we are after the grace
period, then when running “guix pull”, I automatically get the latest
up-to-date commit of main.  Obviously, I pay the unavoidable price of a
first pull but under the hood pull.

This might avoid: Oops why don’t I get the last?  Because you’re after
the grace period. :-)

I don’t know if my suggestion is worth.

Cheers,
simon




This bug report was last modified 35 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.