volk icon indicating copy to clipboard operation
volk copied to clipboard

Rename default branch to `main`

Open jdemel opened this issue 3 years ago • 2 comments

You might have seen or heard about projects renaming their default branch to main. We want to be an inviting and inclusive community and thus, it would be appropriate to rename our default branch.

The GitHub docs describe how to rename the default branch. Further, it seems like there are already quite a few measures in place that help us avoid issues.

jdemel avatar Mar 20 '21 17:03 jdemel

I am in favor of this renaming. It is "the right thing to do" as you note in the spirit of being an inviting and inclusive community. Moving to using "main" is an appropriate way to honor our own code of conduct.

In my reading, the origin of the term "master" in this context is not -clearly- linked to "master/slave"; other will disagree and that is their prerogative. Most words have multiple meanings, and the interpretation and feelings behind any word or phrase are individualistic in nature. Individuals are how projects succeed or fail, and we want to embrace everyone to as high a degree as reasonably possible in their complexities, interpretations, and feelings. Based on this interpretation of the situation, renaming the primary branch we use from "master" to "main" makes complete sense.

GIT and GitHub provide a means (1) move "master" to "main", and then (2) to "symlink" back from "main" to "master" to allow all current uses of those branch names to continue while we note the deprecation and eventual removal of the latter. I would approve of this method of renaming.

michaelld avatar Mar 21 '21 16:03 michaelld

So, to quickly write down what just happened:

  • github's "rename master to main" deleted the master reference, and introduced a main reference to the current HEAD of said branch. The rest went beautifully (retargeted PRs etc)
  • this broke tools/people trying to merge/pull/do things with the master branch
    • especially, pyBOMBS was affected
  • @jdemel reintroduced a "master" reference by pushing the branch from his machine. This fixes it.

So, further methodology is to abandon master, but leave it there – there's really not much we can do, since enough external tools rely on its existence; we can't "half-have" it, but we can make clear (and that's the case) that main is where everything happens, and master is just there for legacy reasons. Maybe we'd want to replace README.md with "oh, you're using an unsupported branch", or so.

marcusmueller avatar Jun 05 '21 12:06 marcusmueller

As discussed in chat: this was left open as a reminder, but with main being well-established now, can be closed.

marcusmueller avatar Nov 06 '23 14:11 marcusmueller