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

Sriram Ramkrishna <[email protected]> Mon, 15 Jun 2020 20:35:55 -0700
Newsgroups gmane.comp.gnome.desktop
Message-ID <CADWtFEkVaswHFv2inUoun=Lz+vY3OuvV-kA2_EuP20owjWUG_g@mail.gmail.com>
On Mon, Jun 15, 2020 at 9:00 AM Bastien Nocera <[email protected]> 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
> > [email protected]
> > https://mail.gnome.org/mailman/listinfo/desktop-devel-list
>
> _______________________________________________
> desktop-devel-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list