this post was submitted on 21 Aug 2023
410 points (94.2% liked)
PC Master Race
14934 readers
1 users here now
A community for PC Master Race.
Rules:
- No bigotry: Including racism, sexism, homophobia, transphobia, or xenophobia. Code of Conduct.
- Be respectful. Everyone should feel welcome here.
- No NSFW content.
- No Ads / Spamming.
- Be thoughtful and helpful: even with ‘stupid’ questions. The world won’t be made better or worse by snarky comments schooling naive newcomers on Lemmy.
Notes:
- PCMR Community Name - Our Response and the Survey
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This may be an unpopular opinion, but as someone who just started programming like 2 years ago, main makes more sense and is a more approachable name to me than master
Going to change to anything that made sense in git, trunk would have made most sense (or something along those lines). Since your project can have many branches... Tree puns!
But changing it after the product was out was a dumb idea regardless of whatever makes sense and what doesn't. It was blatant pointless virtue signaling that broke some automation and makes a bunch of documentation needlessly confusing (someone just starting out and seeing main but the book they bought to learn says master... Now has to find out why).
Edit: my terrible spelling and grammar
What do we want? An end to blatant racist murders by police!
What do we get? Rename our git branches!
Why not both?
Cause one of the two is fucking stupid.
The word "Master" isn't exclusively tied to slavery and to deem it offensive on those grounds pretty much guarantees you're American and have an understanding of history that makes any actually educated person want to vomit.
A Master branch, like a master copy of a recording, is the reference copy against which others are measured, it's not a master in the sense of ownership but in the sense of benchmarking, like a master of a craft.
This. And even if it were a matter of control, 'master' is a valid terms for that. It is perfectly fine for one piece of technology to utterly control another. It is not fine to do that with humans.
Cutting out the vocabulary just makes it so that when we run into a real situation, we feel like we can't talk about it.
I will keep vocabulary, and keep history, because that's how we know the reasons for the ways we've changed. Blotting things out of our conceptual vocabulary just makes the next generation susceptible.
They could at least uhh idk not contract with ice or other law enforcement if they wanted to show support
Yeah talking about virtue signalling is a great way to lose me. My company changed hundreds of repos and it wasn't even a thing, and now they're changed forever.
The concept of a master branch reaches back to CVS (that's Concurrent Version System, not a pharmacy), and Subversion. Makes sense it wouldn't make sense to you. Frankly it doesn't make sense to
git
at all, but that's a much larger discussion.The concept of a "master copy" has been around and in widespread use for around a century. It has nothing to do with either software nor social (in)justice. It's just the thing you photocopy so you don't end up making photocopies of photocopies. IMO It should make sense to anyone who, you know, has seen and used paper within their lifespan.
Some terminology, like "master and slave" for IO between devices, did always used to make me really uncomfortable whenever I heard it. But the branch name for software was probably fine.
Yeah, LP records have master copy and those have been around for some time (before going away and coming back again)
More than a century
Ever since Hammurabi
It's been a long time since I've used SVN by aren't things like branching more difficult? I guess for personal it doesn't matter.
Not really. If memory serves it's just
svn checkout branch_name
I have never used Git professionally but I'll tell you the three biggest pain points when working with SVN that I know Git has proper solutions.
No local commits. On the latest SVN versions there is the concept of "shelves" which just basically puts your changes in a separate folder... as of last I checked it was still in Beta but it works decently.
Common code is a pain in SVN. The only way you can do this is using the externals property which has annoyances that seem to be handled better by Git Subtrees.
Commit squashing doesn't exist in SVN. Not a problem for me personally but I've worked with some people that make me really wish I could squash their commits.
Git is really inefficient for large binary files because of the decentralization. SVN for media and Git for text-based files makes sense. Otherwise— I only used SVN briefly, and then fortunately only for media— But yeah, Git is probably better and more useful overall.
I wouldn't want to go back to svn. I've gotten very used to git's ability to carve up changes, etc.
Wait, what? When did this even happen (in general)?
Ah, screw this. I'll probably keep "
master
" in anything that currently has it, and the next time I start something I'll just go back to calling it "trunk
" even though I was too young at that point to actually call ittrunk
, but it makes the most sense for the organization flow.Oh god, you just gave me flashbacks to SVN. Specifically via Tortoises an, which I thought was the shit.
While convention is not about making sense (does Java class names make any sense?),
master
makes more sense in this case becausemain
implies that there aresecondary
that's not related to it. Which really shouldn't happen in any sane repo.Tbf, 'master' can imply the same thing
Master implies hierarchy, all the other branches are derivatives of it. Main/secondary doesn't have that.
You can sort of compare it to the master recording in audio, or a master key that can open several locks.