Description
Description
This ticket tracks the variety of changes required to support main
as a default branch name for the creativecommons
and cc-archive
GitHub organizations.
Rationale
Master-slave is an oppressive metaphor that will and should never become fully detached from history. Aside from being unprofessional and oppressive it stifles participation
(1.1. Master-slave - Terminology, Power and Oppressive Language)
While not everyone may interpret a git master
branch as representing a "master-slave" metaphor, it is not unreasonable for anyone to do so:
First appearance of "master" in git is in a CVS helper script[1]:
git/git@3e91311Why is that branch called master? Probably because BitKeeper uses
"master" for its main branch:
http://www.bitkeeper.org/tips.html#_how_do_i_rebase_my_work_on_top_of_a_different_changesetBut maybe this "master" isn't the same one that's in "master/slave"?
See the documentation about
master/slave repositories:
https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/HOWTO.ask#L223But repositories and branches aren't the same! They are in BitKeeper:
https://users.bitkeeper.org/t/branching-with-bk/158/2So, yes, the "git master" branch probably isn't even a "master copy"
reference, but a straight up master/slave reference.
(Re: Replacing "master" reference in git branch names (was Re: Proposal:)
Continuing to use master
as a default branch name is unwelcoming of too many. We should put our best face forward, not a face that others can easily interpret as hostility or white supremacy.
Implementation Details
- Identify and resolve issues that prevent
main
from being used a default branch name and track them, below. - Project maintainers will decide per repository whether they want to move to using
main
and track them, below. - The Creative Commons Engineering team will re-evaluate based on the experience of using
main
in those repositories within ~6 months (2020 end of November or beginning of December)
Prerequisites
- Also support "main" as default branch for repo normalization · Issue #48 · creativecommons/ccos-scripts
- Update Pull Request template to support "main" as a default branch name · Issue #10 · creativecommons/.github
- Support for renaming an existing branch - GitHub Changelog (2021-01-19)
- github/renaming: Guidance for changing the default branch name for GitHub repositories
Additional context
- Easily rename your Git default branch from master to main - Scott Hanselman
- Terminology, Power and Oppressive Language
- Additional proof that it has been a "master-slave" metaphor since the beginning:
- 'Re: kernel.org and GIT tree rebuilding' - MARC (2005 email from Linus Torvalds to git mailing list)