Task #3442


rename "master" branch in core.git to new git default

Added by Michael Stahl over 3 years ago. Updated over 1 year ago.

Target version:
Team - Qlater
Start date:
Due date:
% Done:




as discussed in ESC today:

  • rename master to main in git? (Stephan)
    + LLVM already did this
    + how far should we go there? (Cloph)
    + do we look bad if we don’t do anything? (Stephan)
    + when creating a new branch: (Cloph)
    + IRC notify, tinderbox, .gitreview, documentation (wiki e.g.) (Sophie)
    + dashboard data may be tricky (Cloph)
    + in favor of doing it (Michael S)
    AI: + file a TDF infra ticket on redmine (Michael S)
    + to get input from infra
    + prefer to get 7.1 out of the door first (Cloph)

so this mainly requires adapting infra things like CI etc. to the new branch name, but hopefully the effort required should be rather small (and of course it's not the most urgent task in the world).

for motivation see:

Actions #1

Updated by Guilhem Moulin over 3 years ago

Michael Stahl wrote:

+ IRC notify, tinderbox, .gitreview, documentation (wiki e.g.) (Sophie)

Also {OpenGrok (I don't have a comprehensive list existing clones/replicates offhand)

+ dashboard data may be tricky (Cloph)

Dashboard data is not authoritative so not a big deal. The grimoire tooling has no support for branch renaming AFAICT, and rather than resorting to ES surgery in the raw & enriched indices it's it's simpler to just nuke {git,gerrit}_{raw,enriched} and re-import from scratch. We have a local patch to only consider changesets and commits to master though, so we'll need to update that to the new name.

Actions #2

Updated by Guilhem Moulin over 3 years ago

Michael Stahl wrote:

but hopefully the effort required should be rather small

Indeed, the difficulty is more to get to a consistent state in an atomic fashion, at least of the critical pieces of the pipeline

Actions #3

Updated by Christian Lohmaier over 3 years ago

  • Due date set to 2021-03-31
  • Priority changed from Normal to Low
  • Target version set to Q1/2021
Actions #4

Updated by David Ostrovsky over 3 years ago

FWIW: JGit project added native support for this feature: [1],
so hopefully gerrit would also add support for this in
future releases.


Actions #5

Updated by Christian Lohmaier over 3 years ago

Current plan is to do the switchover on April 1st

What will be done?
  • git branch rename from master → main for LibreOffice-repos only (core, dictionaries, help, translations)
    more specifically creation of a new main branch main from master and setting the default branch for those repositories to the new name)
    • pushes (submitting to actual branch) to the master branch will be prohibited by the ACL (permissions)
    • final commit on master branch will be a change to .gitreview to use the new name as default and to logerrit using main as target branch if the current local branch is master
    • it will be a hard cut, main will continue where master stopped, master won't receive any more commits
    • open changes for master branch will be moved to the new branch using gerrit's "move change" feature (that keeps the current parent, so it is not a rebase)
    • pushing to refs/for/master (i.e. creating new changesets) will be allowed for a transition period, but jenkins will immediately ask to move the change to the new branch (not done automatically, to make people also change their local branch configuration/upstream settings)
  • adjusting of jenkins' gerrit-trigger and tinderboxes to use the new branch name
  • adjusting of the bugzilla-status-notification ("fixed in version x") bot to use the new branch name
What won't be done at that stage:
  • update of all the documentation/wiki pages mentioning master (that's a community effort, no deadline, if you stumble upon mentions of master poke #infra or change in wiki yourself :-))
  • renaming of auxiliary repositories (like the intermediate repository used for weblate). Projects will be renamed, but weblate itself will still use "master" branch in the underlying repo, any change there will be postponed until 7.2 projects will be created)
  • dashboard will not have any custom migration, instead repository data will be rebuilt/reimported from scratch
Actions #6

Updated by Johnny M over 3 years ago

+1 to Lubos @

The renaming seems to be following the current political fashion in a country and has nothing to do with this project.

I wouldn't proceed until, e.g., the Master's degrees at all universities have their names changed either - and there are many more uses of the word. Otherwise, if someone hijacks the words "free/libre" for their ideological reasons, LibreOffice would have to be renamed to "HomeOffice", too, I guess. (Or does anyone want to claim that the people working on other office software are enslaved and not working on them out of their free/libre will?)

Actions #7

Updated by Johnny M over 3 years ago

P.S.: By the way, "master" and "slave" when used in the same context are also valid terms, describing a relationships between two entities. I'm all against such a relationships between humans. But even if someone feels that that relationship exists and should be eliminated from the technology world, then they should not rename their "master/slave" microcontrollers, etc., but re-architecture their systems to "free" the "slaves". And let them freely decide what they spend their time on and choose their leaders. Otherwise it's just a name change, without real impact... Just to show how absurd the whole thing sounds. :)

And I even fail to see a "master-slave" context in Git. Rather "master" in the sense of "skilled person", while other branches are for not necessarily skilled tries.

Can we expect further future name changes, to include some minorities, e.g., maybe on a certain percent quote?

In my opinion, the community time can be better spent than the suggested updates. The "switchover" date is fitting, though. :)

Actions #8

Updated by Christian Lohmaier over 3 years ago

  • Due date changed from 2021-03-31 to 2021-06-30
  • Target version changed from Q1/2021 to Q2/2021

decision was postponed - revisit in three months or when git itself changes default (whatever comes first)

Actions #9

Updated by Adolfo Jayme Barrientos over 3 years ago

Full support from me for this rename.

Actions #10

Updated by Florian Effenberger about 3 years ago

  • Due date deleted (2021-06-30)
  • Target version changed from Q2/2021 to Qlater
Actions #11

Updated by Adolfo Jayme Barrientos over 2 years ago

BTW, I propose the master branch be named “trunk”, like in Bazaar VCS. The metaphor is coherent with the “branches”.

Actions #12

Updated by Christian Lohmaier over 1 year ago

  • Status changed from New to Feedback

setting state to feedback to indicate that there is no need for action currently/the decision on that is pending (and unsure when that'll be back on the table)


Also available in: Atom PDF