On Thu, 13 Feb 2025 13:15:01 +0100
Liliana Marie Prikler <liliana.prik...@gmail.com> wrote:

> Am Donnerstag, dem 13.02.2025 um 10:30 +0000 schrieb Attila Lendvai:
> > > Here's my perspective: it will cost us basically nothing to rename
> > > the master branch,
> > 
> > i suspect you'd be surprised how many places will need to be touched
> > until the whole infra is back on track after such a rename...
> > 
> > e.g. consider just the "bootstrapping" of this rename:
> > 
> > if you simply rename the branch, then people won't be able to guix
> > pull after the rename.
> > 
> > if you keep two branches, then for how long until no users are left
> > who will attempt to guix pull using an unprepared guix binary?
> > 
> > or should we add code to guix preemptively that can deal with both
> > the pre and post rename environment? then have a grace period before
> > the rename? for how long?
> Consider these steps:
> 
> 1. Create 'main', following 'master'.
> 2. Push a commit that makes 'main' the branch of
> %default-guix-channel. 
> 3. Push that commit to both 'master' and 'main'. 
> 4. Lock master on said commit.

This doesn't take care of existing repositories, and it is possible to
handle that as well but the way I know does require practical control
over the infrastructure (there may be better ways though that works
without ssh access):

$ git checkout origin/master -b temporary
$ git push origin HEAD:main
$ ssh root@server
$ cd /path/to/repository.git
$ git symbolic-ref HEAD refs/heads/main # Change the main branch
$ git symbolic-ref refs/heads/master refs/heads/main # Make master point to main

I did it on many Replicant repositories for instance, and it's 100%
transparent to the users. With that, new clone of the repositories use
main by default.

Denis.

Attachment: pgpjLYUq4tLOZ.pgp
Description: OpenPGP digital signature

Reply via email to