GNU bug report logs -
#76407
[GCD] A better name for the default branch
Previous Next
Full log
Message #53 received at 76407 <at> debbugs.gnu.org (full text, mbox):
Hi Ludo’,
Am Sonntag, dem 23.02.2025 um 15:42 +0100 schrieb Ludovic Courtès:
> Hi Liliana,
>
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> 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.
Actually, the GCD does specify this:
> 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.
> 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).
Fair enough. Keeping it updated for one year and then phasing it out
should give folks more time to adopt.
> 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.
SGTM.
> > +## Choice of branch name
>
> I’m not convinced this section is necessary. :-)
How do we achieve consensus on the proposed name itself, then?
> > +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.
Perhaps I am missing something crucial here, but IIUC most breakages
would result from the same record; with just one field between them.
Since most configuration ends up being "fire and forget", reducing the
number of times they need to be edited sounds like a benefit to me.
> Also, perhaps clarify that this GCD is valid whether or not GCD 002
> is adopted.
Sure.
Cheers
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.