Proposal: renaming 'master' branch to 'main'

Daniel P. Berrangé berrange at redhat.com
Mon Feb 20 14:36:06 UTC 2023


On Mon, Jan 16, 2023 at 02:55:10PM +0000, Daniel P. Berrangé wrote:
> I'd suggest it is time to libvirt to get on this train and rename our
> default branch to 'main' in all repositories.
> 
> There are essentially two options
> 
>   * Rename 'master' to 'main'
> 
>     With this, anyone pulling from an existing checkout will get an
>     error telling them that 'master' does not exist. It won't tell
>     them about 'main', but at least it gives them a sign that something
>     in their checkout probably needs changing.
> 
>     Downside is that any URLs pointing to source files / commits with
>     a branch name in the URL will become 404s.

I'm going to go with this option, since it fully eliminates 'master'
from usage immediately.

> 
>   * Clone 'master' to 'main'
> 
>     With this, anyone pulling from an existing checkout will get no
>     updates. It is very easy for people to not realize that they are
>     tracking a branch which is no longer used
> 
>     Downside is also that the undesirable term 'master' remains
>     present in the repo, even if unused. We might also miss places
>     which still refer to 'master' which will end up outdated

> In terms of impact

snip
  
> So the rename isn't free of cost, but it should all be one-time
> only costs, which I think is something we can live with. Given
> our never ceasing development stream there's not really any
> 'right' time todo such a change. Just after a release is probably
> as good as it gets, and January is marginally better since we skip
> Feb and have a 6 week gap until the March 1st release.

Well obviously I missed that time frame.

What I'm intending todo, right now, is start with the repos that
are fairly infrequently / rarely touched:

  libvirt-appdev-guide-python
  libvirt-cim
  libvirt-console-proxy
  libvirt-csharp
  libvirt-designer
  libvirt-devaddr
  libvirt-gitlab-executor
  libvirt-media
  libvirt-publican
  libvirt-sandbox
  libvirt-sandbox-image
  libvirt-security-notice
  libvirt-snmp
  libvirt-test-API
  virttools-planet
  virttools-web

these shouldn't cause disruption to anyone, and will let me practice
the CI updates / gitlab settings changes.

After that, then progress to the somewhat active repos, but which
are NOT on the fixed monthly release schedule:

  libvirt-ci
  libvirt-dbus
  libvirt-glib
  libvirt-java
  libvirt-ocaml
  libvirt-php
  libvirt-rust
  libvirt-tck
  libvirt-wiki

Open merge requests we need their target branch flipping, which
IIUC is trivial.  I'll send another mail before starting on these
repos.


Then finally, just after March 1st, do the repos which have monthly
releases schedule (assuming all previous conversions have worked as
expected).

  libvirt
  libvirt-go-module
  libvirt-go-xml-module
  libvirt-perl
  libvirt-python

again, before I start on this last set of 5, I'll send another
warning message a day-ish before.

I'm not intending to touch any of the repos marked as 'archived' in the
gitlab UI at this time.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list