Subject: [bug#76407] [GCD] Rename the default branch

From: Andreas Enge <[email-masked]>
Date: Wed, 26 Mar 2025 15:27:27 +0100

Am Wed, Mar 26, 2025 at 02:52:40PM +0100 schrieb Liliana Marie Prikler:
> > Also, my impression is that it would be better to rather quickly
> > delete the master branch if we change names instead of keeping it
> > around. It would be better to create an error instead of letting
> > people stick with an outdated branch. In particular, we should make
> > sure that "guix pull" either works with the new name or breaks
> > visibly, so that people do not remain on "master" while thinking they
> > are updating their system.
> Could you elaborate on this?  My proposal to keep "master" for the time
> being, but pointing it towards "main" would make it unlikely that an
> upgrade is not a real upgrade.  Then, once configurations default to
> using main, we can make upgrades smooth for everyone using the default
> configuration.

Sorry, I do not know well enough how "guix pull" works to really elaborate.
And I am not sure what you mean by "master points towards main". Assume
we change the default branch; then as a committer I will push to "main",
and "master" is one commit behind. I do not think that it is possible in
git to have "master" just be an alias for "main"? (Or maybe it is on
codeberg?) Then we would have to manually or automatically let master
follow main; by running a script as a git hook doing the equivalent of
   "git checkout master; git rebase origin/main; git push"
(beware of recursive "git push" hooks...)?

(Hm, this is a bit twisted, but it would be perfectly possible to have a
local branch main that follows origin/master or vice versa, right? So
locally each of us could use their own favourite terminology.)

The first time one does a "guix pull", I think it amounts to a "git
clone", so whatever the default branch is at this time will be used.
Supposedly the next "guix pull" just does the equivalent of "git pull",
so if I am on master (and master is not updated to follow main after
every commit) I will not get the update.
Probably if master is simply deleted, I will get an error message, and
could then be invited to delete $HOME/.cache/guix/checkouts? That would
be okay in my opinion.

But as said, I am convinced the technical details can be worked out,
but this requires to know exactly how "guix pull" works (which is
probably your case).

> > So maybe we should name the principal branch "caput" or "κεφάλαιο".
> Maybe "head", alluding to "HEAD"?  "caput" sadly has the meaning
> "broken" if we pronounce it German ;) 

Well, I sort of liked the self-deprecating pun here :)

But this was only in the bike shedding part about what we feel with
respect to the change; as said before, in reality I would oppose anything
but "master" or "main". I do not think anybody has a real problem with
"main", and then it is simply a matter of practicality to switch to the
second most used branch name instead of our own invention.

Andreas