“Developer”
“my” 4 months of “work”Those are the ones easily replaced by AI. 99% of stuff “they” did was done by AI anyway!
Why did the porn star become a network admin after retiring?
She was already an expert in load balancing
svn was invented in 2000
CVS was invented in 1986
Now Target owns them, I think.
SCCS is from 1972, you young whippersnappers
SUN is from 4.6 billion years ago, you mortal beings
I’m a software developer so I’ve never seen that thing you’re talking about, but check your sources, I believe it’s actually from 1982: https://en.wikipedia.org/wiki/Sun_Microsystems
I landed in the middle. SCCS was too old, CVS was too new.
https://www.gnu.org/software/rcs/
But, back then, I had also been forced to use CMVC.
https://en.m.wikipedia.org/wiki/IBM_Configuration_Management_Version_Control
When
bzr, and thengit, turned up and I started using them, I was told “this is DVC, which is a whole new model that takes getting used to”, so I was surprised it seemed normal and straightforward to me.Then I found out that Sun’s Teamware, that I had been using for many years, was a DVC, hence it wasn’t some new model. I’d had a few intervening years on other abominable systems and it was a relief to get back to DVC.
Regarding the original post, are there really people around now who think that before
gitthere was no version control? I’ve never worked without using version control, and I started in the 80s.
git push origin master # moron
The first version control system I ever used was CVS and it was first released in 1986 so it was already old and well established when I first came to use it.
Anyone in these past forty years not using a version control system to keep track of their source code have only themselves to blame.
And Claude, off course.
Before that, it was RCS, released in '82.
Luckily I’m young enough that I never had to use RCS.
Or gnu arch
CVS was, for the longest time, the only player in the FLOSS world. It was bad, but so were commercial offerings, and it was better than RCS.
It’s been completely supplanted by SVN, specifically written to be CVS but not broken, which is about exactly as old as git. If you find yourself using git lfs, you might want to have a look at SVN.
Somewhat ironically RCS is still maintained, last patch a mere 19 months ago to this… CVS repo. Dammit I did say “completely supplanted” already didn’t I. Didn’t consider the sheer pig-headedness of the openbsd devs.
“We’ve always done things this way, we ain’t changing!” - some folks in the Foss community, like those RCS maintainers
which is about exactly as old as git.
Wdym by that?
Both git and svn started around the same time, in or about 2004.
Svn: 20 October 2000
Git: 7 April 2005
I remember using svn when git development was started
We still use RCS at work. For config files for our network monitoring. Works fine still.
deleted by creator
Game developers often use Perforce instead of Git. Maybe it was that?
deleted by creator
You definitely need something else than git for large assets, yes, its storage layer is just not built for that and they way art pipelines generally work you don’t get merge conflicts anyway because there’s no sane way to merge things so artists take care to not have multiple people work on the same thing at the same time, so a lock+server model is natural. Also, a way to nuke old revisions to keep the size of everything under control.
My first one was Visual Source Safe.
I will never go back to it for any amount of money.
You know, CVS wasn’t really that bad, just primitive and outdated.
I made a game engine and a game back in highschool, but all that code is lost because I didn’t know how to use git. I knew git existed (and even knew enough to know it was better than mercurial or svn), but I was too lazy to learn.
deleted by creator
Just a heads up, it you don’t know how to use cli git in 2025 you’re probably a shit developer. There are undoubtedly exceptions, but I would argue not knowing version control intimately makes you a bad developer.
deleted by creator
As someone using git for the last 10 years by now: you’re wrong. No UI has managed to give me access to all the fuckery I often do very quickly on the command line. I was honestly surprised to see IntelliJ nowadays supports an interactive rebase, but reflog, which should be a basic git feature, is still not widely supported in most IDEs in 2025. Or adding, resetting or checking out files with regex. Setting up and modifying lfs. And these are all basic features, good luck doing something like using branch~n syntax for some of the operations etc.
Git UI is shit and will be for a long time.
There’s nothing ‘archaic’ about git’s CLI. I think you might just be opposed to CLI’s in general, which is fine for a regular computer user, but paints a grim picture of your competency if you’re a developer.
That seems unnecessarily harsh.
I find the built in controls with visual studio supremely convenient.
After using git init --bare for the remote repo I use the built in git controls for branching and switching out as well as syncing and pushing. Why not, the button is right there and it’s literally faster.
The difference is that PRESUMABLY you aren’t utterly dependent upon it. If vscode utterly fucks your repo with a shit command, you’ll not really have any trouble fixing it. That’s the huge difference. The point is not that all GUI controls are always bad all of the time, the point is that you need to know what the hell you are doing in git as a basic tenant of developer competency.
Because they are universally incapable of coming anywhere close to the full power of git.
I can’t tell you how many times I’ve had GUI-only people ask me to unfuck their repo (fortunately not at my current job, because everyone uses the CLI and actually knows what they’re doing). It’s an impedance to actually learning the tool.
Ultimately any GUI is a poor, leaky abstraction over git that restricts many of the things you can do for little actual benefit.
Most cli stuff is a lot easier than programming. If you can’t use cli then by definition you’re a shit programmer.
Of course if you simply don’t want to use cli that’s a different matter.
Why learn a GUI that can change from release to release when I can learn a CLI once and be done with it. An additional plus is that CLIs are easier to script and automate.
Mate… Theres maybe like 5 “git + singleword” commands that cover 99.999% of all of your uses of git. Its really not hard.
The fact that you don’t already know why and are dependent on GUI tools that you don’t fully understand is the reason that you’re probably not a very good developer.
Git is incredibly powerful. Knowing why and how is infinitely valuable. Nothing about git cli is archaic or even particularly difficult to understand. Also the man page is very excellent.
deleted by creator
I said that you are probably not very good. Your lack of git knowledge and your seeming inability to learn git means that you’ll likely never be able to function effectively in a development team and will only succeed in holding everyone back. Your lack of knowledge of version control overall is a massive point against you from the outset.
If you’re a solo developer and never need to collaborate with other developers then good for you, but you lack of version control knowledge means that you’ll also probably end up being one of the ones crying that you lost 6 months of work because of stupid reason x y or z.
Read up on fallacies, I did not use one. Your pathetic attempt to shoehorn anything that I said into a no true Scotsman fallacy just shows that you also have poor communication skills.
Holy fucking shit. I didn’t even catch the bit at the end. You really think that cli arguments are archaic??? I’m going to go ahead and assume that regex has you scared shitless as well. Fuck me, you are not a good developer.
Sidenote, something that will help you understand regex and you can test your strings against it in realtime, look up https://regexr.com/
this guy would have force pushed onto main about 10 mins after this if he did have git
And then lost the reflog by
rm -rfing the project and cloning it again.deleted by creator
Tbf you have to do that for the first push, if a Readme file was autogenerated
You don’t if you just clone the repo you created.
Huh? I’m talking about existing code being in a dir, then initting a git repo there, creating a pendant on your hoster of choice and then pushing it there. Wouldn’t cloning the repo from step 3 to the code from step 1 overwrite the contents there?
There are multiple solutions to this without using --force.
Move the files, clone, unmove the files, commit, push being the most straightforward that I can summon at this time… but I’ve solved this dozens of times and have never use --force.
If your remote is completely empty and has no commits, you can just push normally. If it has an auto-generated “initial commit” (pretty sure Github does something like that), you could force push, or merge your local branch into the remote branch and push normally. I think cloning the repo and copying the contents of your local repo into it is the worst option: you’ll lose all local commits.
You can also just tell GitHub to not do that.
If it’s a single, generated, “initial” commit that I actually want to keep (say, for ex I used the forge to generate a license file) then I would often rebase on top of it. Quick and doesn’t get rid of anything.
True, in the situation with a local history maybe it’s worthwhile to --force to nuke an empty remote. In that case it is practical to do so. I just typically like to find non-force options.
deleted by creator
Yeah, I was thinking of a new repo with no existing code.
In your case you’d want to uncheck the creation of a readme so the hosted repo is empty and can be pushed to without having to overwrite (force) anything.
Does that still happen if you use the merge unrelated histories option? (Been a minute since I last had to use that option in git)
Never have heard of that, but in the case of you also having a Readme that will be even more complicated, I imagine. So just adding -f is the easier option.
Ahh yes, programming by vibe. The vibe is always dumbass. Just steal code that has already been explained to you like everyone else.
already been explained to you
This step is optional
I just want to pause a moment to wish a “fuck you” to the guy who named an AI model “Cursor” as if that’s a useful name. It’s like they’re expecting accidental google searches to be a major source of recruitment.
they are the first thing that comes up when searching “cursor” in both ddg and google, so I think they’re doing ok
Yes, that is the problem I wanted to acknowledge, thank you for clarifying.
It’s not an AI model, it’s an IDE
My comment stands
I need to put a SaaS together called vibe VCS
I remember SVN
I want to forget SVN
I never understood the SVN hate. Then, as now, the problems are almost never caused by the tools, and almost always caused by the people misusing them.
I never got around to using anything except git, partly because of all the hate people would throw at the other competitors back in the day. Even if the criticisms were not fair, and even if it was all a secret conspiracy to kill git competitors, it definitely worked out for the best. Imagine the hell we’d be in today if we had to constantly deal with different VCS solutions.
It wasn’t really that big a deal. Most of them have more in common than they have differences. If anything, I experienced fewer problems in the age of SVN. It has fewer options than git, but it’s also a lot more intuitive and easy to learn, which counts for a lot when your largest limiting factor is your coworkers.
Not saying I want the world to go back to that, just pointing out the hate is really overblown.
I run a svn server at work
My condolences
I want SVN little explorer icons back! I want to forget Jazz RTC.
deleted by creator
It’s a scary amount of projects these days managed by a bunch of ZIP files:
- Program-2.4.zip
- Program-2.4-FIXED.zip
- Program-2.4-FIXED2.zip
- Program-2.4-FIXED-final.zip
- Program-2.4-FIXED-final-REAL.zip
- Program-2.4-FIXED-FINAL-no-seriously.zip
- Program-2.4-FINAL-use-this.zip
- Program-2.4-FINAL-use-this-2.zip
- Program-2.4-working-maybe.zip
- Program-2.4-FINAL-BUGFIX-LAST-ONE.zip
- Program-2.4-FINAL-BUGFIX-LAST-ONE-v2.zip
If we’re talking actual builds then zip files are perfectly fine as long as the revs make chronological sense.
I’m not. I’m talking about in companies where dev A wants dev B to do some work, but they don’t use git or any kind of source control, so you email over a cursed ZIP file, then dev B does the work and sends it back with a different name. It’s a highly cursed situation.
Yeah that’s bad.
I did that with documents in my Uni years.
By the end, I was using ISO timestamps.- Program-1.5-DeleteThis.zip
- Program-1.6-ScuffedDontUse.zip
- CanWeDeleteThesePlease.txt (last edit 8 months ago)
Inspired by a small collaboration project from a few years ago.
Don’t trust anyone who can’t spell ‘oops’.
Maybe he was cursing the god of dev ops
Nah his opps fucked up his backup.
His operations department?
















