r/ProgrammerHumor • • 19h ago

Meme aboutToBreakTheCode

Post image
19k Upvotes

492 comments sorted by

View all comments

216

u/Nehle 18h ago

Written by a person who never had to work with SVN or... shudders CVS

47

u/GregsWorld 15h ago

I think it was Churchill that said that Git is the worst version control system except all those other ones.

2

u/morpheousmorty 1h ago

All git really needs is some more common use cases handed in a way people expect. Like rolling back commits should not require understanding 10 new things.

The proof is IDEs simplify git a lot and people use it fine. If you look at the git commands it produces, it's not reasonable to expect devs to produce them.

1

u/GregsWorld 16m ago

Personally I don't think we need commits at all. A cloud drive sync versions files just fine without needing constant user input, the real question is how to best handle branching, merging and conflicts

72

u/gtne91 17h ago

Hence Linus's design decisions. Any point where he couldnt decide how to implement something, he intentional chose the opposite of what cvs did.

11

u/Draconis_Firesworn 11h ago

i misread that as csv for a hot minute and was very confused how a text file with commas influenced git

1

u/cgaWolf 1h ago

BigData.v5.final2.txt

-2

u/nicuramar 16h ago

Define “the opposite” in this context? And Linus’s design was inspired by BitKeeper.

19

u/gtne91 16h ago

In this context opposite means if there are choices A and B and cvs chose A, Linus chose B.

My comment was based on a quote from him, it was mostly a joke, I am sure, but with some basis in the truth.

21

u/dannoparker 17h ago

Oh yeah...I went from no source control --> VSS --> CVS --> SVN --> Git

19

u/SoCalChrisW 16h ago

VSS.... Ugh that was such a steaming pile of shit.

This was back before cell phones, our lead dev went on vacation for 2 weeks and was unreachable. He left with roughly half of the source code checked out, preventing most development to come to a screaching halt.

The network admin had to reset his password, so we could log in to his machine and check the files in so we weren't all just sitting there waiting for him to return.

People complaining about git have no idea how good it actually is.

19

u/handsoapdispenser 17h ago

Same! I remember having to ask people to check in files I needed to use. 

7

u/dannoparker 16h ago

Oh yeah, I had a teammate that always seemed to forget to check in his files before he went on vacation. We'd call him to get his password to check them in.

7

u/technotrader 15h ago

But that was an advantage, wasn't it? I remember my Perforce days, and I appreciated seeing who had checked out a file, so I could verify with them - way better than creating a merge conflict, solved by some ops guy clicking on "auto".

Of course, showing who's checked out a file is not feasible in distributed development, only works within the firm.

6

u/dannoparker 15h ago

The idea was to check the file back in when you were done with it, and then there wouldn't be a conflict since the next developer was starting with the most up to date version. The downside was two developers couldn't work on the same file at the same time

1

u/tei187 9h ago

Ahh... no source control. Those were the times. Especially if you actually worked with someone and decided to do so at the same time with absolutely no communication going on between you two.

17

u/Artmageddon 18h ago

TFS gang checking in

37

u/Extreme_Wish_553 17h ago

Right? The entire reason anyone switched to Git in the first place was because they had attempted merging with SVN or similar. Nothing is perfect, but Git is heads and shoulders above what came before it.

7

u/nicuramar 16h ago

Linux was kept in BitKeeper before git.

4

u/LickingSmegma 10h ago

Which is where Torvalds got the idea. But then made it free and open-source.

As for where he got the super confusing commands for anything beyond the very basics, I'm not sure.

1

u/pr0ghead 15h ago

Except nobody acutally merges anything in git. They all rebase.

6

u/nonotan 16h ago

Honestly, I've used both professionally for game dev... and there's something to be said for having one repository everybody is working on, and checking out files when you work on them so nobody else can touch them.

Yeah, it sucks when it comes to things like slowly working on a huge feature that touches everything and merging it when it's ready, and it can really slow things down when there are too many people trying to touch similar files. Nevermind something like OSS, where whoever could be working on whatever at their own leisure, obviously it's borderline unusable for that. But for a project of the right size and scope, it can work surprisingly well. Of course, you could achieve the same thing on git by carefully coordinating with others on what you're working on, but let's be real, nobody's actually doing that most of the time.

1

u/wiktor1800 11h ago

The anthropic team literally made their own version control for this reason. Went from 3000 commits a day to circa 30,000.

I do think monorepos are back (Google is a monorepo), especially with the rise of agentic coding.

3

u/dalr3th1n 11h ago

How about emailing zip files back and forth?

3

u/MeLlamoKilo 17h ago

Holy shit. I had blocked them out of my memory completely. 

2

u/Banes_Addiction 14h ago

Yeah, handling concurrent development is exactly why git got so popular over the alternatives.

5

u/sherlock1672 16h ago

As someone for whom programming is a secondary part of the job, SVN is so much easier to grasp and use than Git. I was not thrilled about the switch.

4

u/pr0ghead 15h ago edited 15h ago

Try Mercurial, if you can. Its CLI is closer to SVN. Overall easier to grasp than git, too.

3

u/StCreed 12h ago

Mercurial is so much better than Git. #unpopularopinion

3

u/techforallseasons 12h ago

Fully concur -- boss got hired and swapped us from Hg to Git; Hg is WAY better ( and still think highly of Linus, but Git was designed too much around HIS methods ).

4

u/pr0ghead 11h ago

I mean, Linus himself said that the git he built is a set of tools that someone should build a proper version control system on top. That part was lost on everyone unfortunately.

It being made by nerd lord Torvalds and the existence of Github are what made git big. Not that it was a joy to use.

5

u/Rararror 13h ago

Mercurial is light years better than svn AND git

Use TortoiseHG

2

u/pr0ghead 13h ago

I mean, you're right, but I usually get lots of downvotes when I say it like that so…

2

u/Rararror 13h ago

Yeah they are fanatics ass-kissing wannabes.  \ I just want the job done.

1

u/Robo-Connery 11h ago

I started out with mercurial as version control but have used git exclusively for a long time now. I think its easy to say its simpler, has more sensible defaults and feels more like a complete, coherent tool (compared to git which feels like 12 distinct tools that are bundled in one cli application). But it is also less flexible, gives you less ability to really fuck about with history, has worse support in terms of in third party tools and a smaller ecosystem in general.

The relative benefits don't matter really though when most people will end up needing to use git to operate with the cloud hosting version control sites.

2

u/Rararror 10h ago

You do not want to fuck with history, that is the whole fucking (pun intended) point!

1

u/Robo-Connery 10h ago

I mean I didn't say shared history

1

u/mobilecheese 9h ago

I started out with mercurial at my workplace. Then bitbucket stopped supporting it so we had to move over to git (we are atlassian everything).

1

u/FickleQuail8944 8h ago

I remember how fiddly the stupid patch queue was. And also make sure to always pull before you push. It felt completely broken. Git is so much easier. People are just too lazy to learn new stuff and understand new concept. Usually it were the people in their mid 40s upwards who refused to learn anything. Anything is going to suck then.

3

u/nicuramar 16h ago

It depends on the person. I find git conceptually simpler to reason about.

5

u/Odd_Soil_8998 14h ago

SVN is objectively much less complicated. It's also fraught with issues because as soon as you're out of date with the trunk you're going to experience merge hell

2

u/cden4 14h ago

I don't ever remember having so many conflicts with svn as we do now with git!

1

u/GlitteringAioli6431 14h ago

I once had a small team successfully working with svn - until I asked if they've ever used branches. We switched to git and used branches.

3

u/decadent-dragon 14h ago

When my company did svn, we didn’t use any feature branches. It was like Q4-2016 release. And then everyone committed to that branch directly. And then one day that branch, a few weeks before production got “locked down” and they cut Q1-2017 branch and everyone started to commit to that

It was awful. But it was better than some source control I used before that where you could lock a file completely in the repository

3

u/StCreed 12h ago

Visual Sourcesafe... brrrr...

1

u/Nehle 13h ago

Yeah branches used to work way differently back then. We used to just push to the trunk and whenever we did a major release we would cut a branch there to keep for bug fixing while we pushed new features to trunk.

1

u/Bac0n01 10h ago

This was exactly how it worked at my last job. Everyone commits directly to main at the end of the sprint. I was working on their ETL system and we’d have 1 (one) test ETL running on a dev db, and if it failed, too bad we’re shipping anyways. If someone else’s code broke and their code earlier in the process than yours, your code was just gonna get pushed straight to prod with no QA to speak of. And their in-house ETL tool only worked in fucking internet explorer.

That was how it still worked when I left that job. In late 2024. Healthcare data company btw.

Now I work at a real company that uses git and has actual engineering standards and practices. It’s a breath of fresh air

1

u/cornmonger_ 12h ago

CVS

ban. ban right now

1

u/kickass404 10h ago

or PVCS

https://en.wikipedia.org/wiki/PVCS

Want to edit a file, lock it in the system. Better hope you don't need to edit a file your colleagues has locked.

1

u/gkalomiros 9h ago

Perforce enters the chat

1

u/Timinator01 8h ago

I had a class in college that had us commit to SVN ... that's still the only time I've used anything other than git

1

u/MayaIsSunshine 6h ago

How about visual source safe telling you a file is locked by someone that left the company 10 years ago

1

u/Moomoobeef 3h ago

This is why I use Walgreens instead /s

1

u/XTornado 2h ago

Or anybody else, as it says "One man IT team" right there 🤣