Re: Replacing "master" reference in git branch names (was Re: Proposal: Replace all references to master/slave in GNOME modules)



On Mon, Jun 15, 2020 at 9:00 AM Bastien Nocera <hadess hadess net> wrote:

Doing some thread grave digging.

Just as an FYI - in terms of happening - I see it very likely that
github and gitlab are all going to be changing the name of the default
branch in git. (I talked to Nuritzi - and she said discussions have
already started and it is very likely that Gitlab will follow suit if
not assured)

At that point, I don't see why upstream git wouldn't follow suit as
the pressure will mount.

While I personally find it unfortunate that we didn't have the
opportunity to lead on the issue - we certainly can lead in
implementation.

I did find the thread educational at least in terms of the meanings of
'master' and its origins.

Thanks Bastien for leading the discussions on this.

Cheers,
sri



On Sat, 2019-05-04 at 15:18 +0200, Bastien Nocera wrote:
On Sat, 2019-05-04 at 12:32 +0200, drago01 via desktop-devel-list
wrote:
 https://dictionary.cambridge.org/amp/english/master

Master / slave relation is just one of the possible meanings but
not
in the context of master copy

"an original version of something from which copies can be made:"
..

this has no connection with slavery at all.

Reference needed. You don't know where it comes from, and you're not
even trying to find where "master copy" takes its name from.

 Words have meanings based on context - trying to make a connection
to slavery where is none nor any intent to do so is actually
disrespectful to whomever named the default branch "master".

First appearance of "master" in git is in a CVS helper script[1]:
https://github.com/git/git/commit/3e91311ae750af9bf2e3517b1e701288ac3066b9

Why 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_changeset

But 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#L223

But repositories and branches aren't the same! They are in BitKeeper:
https://users.bitkeeper.org/t/branching-with-bk/158/2

So, yes, the "git master" branch probably isn't even a "master copy"
reference, but a straight up master/slave reference.

Did I get anything wrong there?

A year later, and it turns out I was wrong, but still on the right
path. The email I'm replying to has been quoted in various online
discussions so I thought it would be best for me to update and correct
those statements, if they were ever to be used as references.

I emailed Linus Torvalds recently (the original author of git, though
very quickly not the main developer), and he told me that it was
unlikely that the "git master" branch name was influenced by BitKeeper,
and that "master" was "fairly standard naming" for this sort of thing
and "more likely to be influenced by the CVS master repository".

Petr Baudis is apparently the person that came up with the use of
"master" and "origin" in git,
https://twitter.com/xpasky/status/1271477451756056577:
"
I picked the names "master" (and "origin") in the early Git tooling
back in 2005. [...] I have wished many times I would have named them
"main" (and "upstream") instead.
"
and https://twitter.com/xpasky/status/1272280760280637441:
"
"master" as in e.g. "master recording". Perhaps you could say the
original, but viewed from the production process perspective.
"

I wanted to conclude that, at the end of the day, it doesn't matter
where the name comes from (something that was touched upon a number of
times in the thread). The fact that it has bad connotations, or
inspires dread for individuals and whole communities, is reason enough
to change it.

It's especially the case when the term used is pretty inappropriate to
describe what it is, and the software is flexible enough that we can
very easily change that term without a lot of disruption.

I think that we would do well as a project to make that change for all
the repositories that we host, so we minimise that differences in our
own project.

If anyone wants some inspiration as to what they can do for their
personal projects, codespell can help you follow best practices using
the "usage" dictionary:
https://twitter.com/hadessuk/status/1271371994672566273
which will be available as a Fedora update soon:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-12bd755a7c

There are also tools to rename the main branch in your GitHub projects,
ahead of GitHub doing that by default:
https://github.com/dfm/rename-github-default-branch

Cheers

[1]: And this is the commit that made it the default branch:
https://github.com/git/git/commit/cad88fdf8d1ebafb5d4d1b92eb243ff86bae740b#diff-8117edf99fe3ee201b23c8c157a64c95R41

_______________________________________________
desktop-devel-list mailing list
desktop-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

_______________________________________________
desktop-devel-list mailing list
desktop-devel-list gnome org
https://mail.gnome.org/mailman/listinfo/desktop-devel-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]