(Move flatpaks to the same time as the rest of src and move github to next week.) |
(Update timeline) |
||
Line 44: | Line 44: | ||
This change will take place in a number of phases: | This change will take place in a number of phases: | ||
=== Phase0 - 2021-01-05 === | === Phase0 - 2021-01-05 - COMPLETE === | ||
A guide will be published to explain how maintainers/project managers can change the default | A guide will be published to explain how maintainers/project managers can change the default | ||
branch on pagure.io, which they can then do based in their projects desires. | branch on pagure.io, which they can then do based in their projects desires. | ||
=== Phase1 - 2021-01-06 === | === Phase1 - 2021-01-06 COMPLETE === | ||
The following repos will be switched: | The following repos will be switched: | ||
Line 67: | Line 67: | ||
workstation-ostree-config | workstation-ostree-config | ||
pungi-fedora | pungi-fedora | ||
fedora-docs/* | <span style="color: red; text-decoration: line-through;">fedora-docs/*</span> | ||
fedora-docs-i18n/* | <span style="color: red; text-decoration: line-through;">fedora-docs-i18n/*</span> | ||
=== Phase2 - 2021-01-13 === | === Phase2 - <span style="color; red; text-decoration: line-through;">2021-01-13</span> 2021-01-27 === | ||
github.com | github.com | ||
Line 76: | Line 76: | ||
src.fedoraproject.org/* | src.fedoraproject.org/* | ||
fedora-docs/* | |||
fedora-docs-i18n/* | |||
Along with the src.fedoraproject.org changes, we will update the branch filter list and forbid 'master' from being pushed at all. Additionally, we will establish a sym-ref between 'rawhide' and 'main' as a convenience for people who prefer to use 'main' branch for rawhide. | Along with the src.fedoraproject.org changes, we will update the branch filter list and forbid 'master' from being pushed at all. Additionally, we will establish a sym-ref between 'rawhide' and 'main' as a convenience for people who prefer to use 'main' branch for rawhide. |
Revision as of 20:54, 14 January 2021
GitRepos-master-to-main
Summary
This Change will move Fedora git repositories to use "main" as the default git branch instead of "master". Specific repositories will be manually moved and default git branch for new projects will be set to use "main". src.fedoraproject.org/rpms (packages) will have a "rawhide" branch for rawhide with a symref (link) of "main".
The Fedora Community strives to be open and welcoming. Some language around our git repositories is dated and could be more inclusive. Many git repositories currently use "master" as the default branch. This Change will move many repositories (see below) to use a "main" branch as default. This small bit of naming adjustment is in-line with Fedora's vision for free and open source software built by inclusive, welcoming, and open-minded communities.
Owner
- Name: Kevin Fenzi, Ben Cotton, pingou, Mohan Boddu, Till Maas
- Email: kevin@scrye.com, bcotton@redhat.com, pingou@pingoured.fr, mboddu@bhujji.com, opensource@till.name
Current status
- Targeted release: Fedora 34
- Last updated: 2021-01-14
- FESCo issue: #2519
- Tracker bug: #1908890
- Release notes tracker: #618
Detailed Description
The Fedora Project controls a number of git repositories. This change will move the default branch (that is, the git branch used when nothing is specified) from 'master' to 'main'. Existing git clones will need to pull to get the changed default branch. Existing Pull Requests against the 'master' branch will need to be rebased against the 'main' branch. Documentation will be updated.
Feedback
- Why not use "rawhide" for dist-git?
- Not every namespace on dist-git has a rawhide version. For example: containers do not have/use rawhide. And having different default branches on different namespaces is not very appealing.
Benefit to Fedora
The Fedora Project will be a more welcoming place for new contributors.
Scope
This change will take place in a number of phases:
Phase0 - 2021-01-05 - COMPLETE
A guide will be published to explain how maintainers/project managers can change the default branch on pagure.io, which they can then do based in their projects desires.
Phase1 - 2021-01-06 COMPLETE
The following repos will be switched:
pagure.io: releng releng/* fedora-comps fedora-kickstarts fedora-infrastructure fedora-lorax-templates fedora-mediawikitheme fedora-packager fedora-infra/* infra-docs koji-fedmsg-plugin workstation-ostree-config pungi-fedora fedora-docs/* fedora-docs-i18n/*
Phase2 - 2021-01-13 2021-01-27
github.com fedora-infra/*
src.fedoraproject.org/*
fedora-docs/* fedora-docs-i18n/*
Along with the src.fedoraproject.org changes, we will update the branch filter list and forbid 'master' from being pushed at all. Additionally, we will establish a sym-ref between 'rawhide' and 'main' as a convenience for people who prefer to use 'main' branch for rawhide.
pagure.io default for new projects will be changed to 'main'
- Proposal owners:
Documentation on how other projects can change these things if they wish Switching all above listed projects git repos to use 'main' Deleting the 'master' branch Announcing when changes have been made on devel-announce / other lists.
- Other developers:
Other developers are encouraged to change their upstream projects on pagure.io, github or gitlab.
- Release engineering:
Releng will adjust any scripts that assume 'master' branch to use 'main' instead. The list includes and maybe few more update-critpath.py block_retired.py update-docs.sh find_unblocked_orphans.py mass-rebuild-second-run.py adjust-eol-modules.py adjust-eol-modules.py adjust-eol-modules.py adjust-eol.py create-new-release-branches.py create-branch.py adjust-eol-all.py check-unretirement.py mass-rebuild-special.py need-rebuild.py distgit-branch-unused.py create-new-release-branches.py
- Policies and guidelines: N/A
- Trademark approval: N/A
- Alignment with Objectives:
Upgrade/compatibility impact
Users with old checkouts will need to update their git configuration or re-clone repositories that have changed before they can see any new changes.
Repos used to build content for docs.fedoraproject.org can change the default git branch, but the Antora module version (in antora.yml
) should remain master
pending support for alternate "unversioned" versions upstream.
How To Test
- git clone <one of the listed repositories>
- cd <repositoryname>
- git branch
should return: * main
User Experience
Users and developers will see more welcoming language and that the fedora project expended effort to be more welcoming to them.
Dependencies
none
Contingency Plan
- Contingency mechanism: Revert repositories, scripts, and docs back to the unwelcoming 'master'
- Contingency date: 2020-01-13
Documentation
A short guide on how to change this for pagure.io will be produced.
Release Notes
Many git repositories used to create Fedora releases were moved to use a 'main' branch instead of a 'master' branch. The Fedora Project envisions a world where everyone benefits from free and open source software built by inclusive, welcoming, and open-minded communities.