project-oak / oak

Meaningful control of data in distributed systems.
Apache License 2.0
1.32k stars 113 forks source link

Rename master branch to main #1151

Closed jul-sh closed 4 years ago

jul-sh commented 4 years ago

The master name in git originates from the master/slave concept. It seems appropiate to rename it. In the current moment it's a small and largely symbolic change, but imho it is worth doing.

GitHub allows setting any arbitary branch as the default branch. It also highlights it as such, so the main branch should be clear to everyone. Cloning works as you'd expect.

Screenshot at Jun 14 10-11-35

Thoughts @tiziano88 @daviddrysdale @ipetr0v @rbehjati @benlaurie @anghelcovici? Are there any other considerations I'm missing?

Here's how to rename the branch on GitHub & in git. Presuambly our Google Cloud Build setup will require updating as well.

jul-sh commented 4 years ago

Also open to other names, eg trunk, head, lead, canon, stable, but main seems most common

daviddrysdale commented 4 years ago

Just a reminder that the scripts in .github/workflows/ will also need an update for the new name.

(Another option: dev is short)

anghelcovici commented 4 years ago

Interesting, I've always thought the name master comes from "master copy" and the explanation you linked seems to make a few logic jumps to get to a different origin. However, I don't really have a strong opinion on this, if people associate it with master/slave we should change it.

jul-sh commented 4 years ago

@anghelcovici While I find the explaination linked really quite plausible (with git being created as a succesor to BitKeeper in the linux project), I agree with your overall point: If people associate it with that, let's change it.

Some people sure associate it with that, so I think we should change it. :)

I also see it as a bit symbolic thing. If we can't even make such a minor change, it really doesn't reflect kindly onto our industry's ability to listen to voices of those currently historically excluded from it.

tiziano88 commented 4 years ago

I am happy to go forward with this suggestion, regardless of the actual etymology of the current terminology. If someone feels (or would feel) triggered by the current choice of words, and we have the capability to change it, I think we should.

We should probably coordinate this across the other repos in the oak org though (I would say across the google org too, but that seems unlikely to happen in a reasonable time frame).

As a side note, other things we would have to change are the CI triggers on GCB. And make sure that everyone who already had the repo cloned starts pulling from the new remote.

tiziano88 commented 4 years ago

cc

jul-sh commented 4 years ago

https://github.com/project-oak/hafnium-verification already appears to be using hfo2 as the default branch. If desired we could also just rename its master branch to something like legacy.

tiziano88 commented 4 years ago

Ah cool, thanks for pointing out!

FYI, I have just made the GCB trigger work for both main and master: https://pantheon.corp.google.com/cloud-build/triggers/edit/16e67b67-cc42-4799-abf0-ad22b6c8559b?project=oak-ci (ACL'd)

@juliettepretot do you feel like figuring out what needs to change in the repository (cloud steps, scripts, etc.) before we can actually do the rename from the GitHub UI?

tiziano88 commented 4 years ago

@juliettepretot also perhaps write down anything that developers / contributors should be aware of, and some migration steps for local workflows?

jul-sh commented 4 years ago

@tiziano88 done :)

https://github.com/project-oak/oak/pull/1157

satnam6502 commented 4 years ago

I've renamed the default master branch on the oak-hardware repo to main. I'll delete the master branch in a few days.

tiziano88 commented 4 years ago

I have finally completely removed master from our repo, thanks @juliettepretot and everyone else who supported this!