[GNC-dev] Git branches

john jralls at ceridwen.us
Sun Nov 13 15:40:14 EST 2022


Since Geert brought up our relationship with Github I thought it timely to start a discussion about a related trend: The name of the git repository's primary branches. There's an ongoing effort in the software development community for the last 25-30 years or so to remove the terms master and slave; originally when used together (as in processes) but more recently when used alone. This recently includes the name of the primary branch in a git repository. The Gitlab folks have a nice summary at https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/.

'Master' was the standard when we started using git 10 years ago and so we adopted it and still use it. Aside from the cultural sensitivity issues (primarily in the United States because of our unfortunate history with forced importation and enslavement of Africans) it has proved to be a bit confusing to new contributors.

The new standard default is 'main'. I think that would be fine for htdocs where we have master and beta: Main would better express that that's the branch that you see when you visit https://www.gnucash.org <https://www.gnucash.org/>. The gnucash-on-foo repositories for the build processes have only master branches so it doesn't really matter what the branch is called.

I don't think 'main' is the right name for gnucash or gnucash-docs because it does nothing about the confusion factor. Note that the default branch on those two is maint but we still use master for the next major release's branch. The most expressive titles would be current-major-release and next-major-release but they're a bit wordy; OTOH just current (or curr) and next leave a new contributor to ask current and next what? maint is concise and not terrible for a branch that gets only bug fixes and small features. Lots of generic names for the next-major-release branch (future, devel or development, major-change) come to mind but I'm not sure that any of them clearly express the intent of the branch.

Comments?

Regards,
John Ralls



More information about the gnucash-devel mailing list