Hacker News new | ask | show | jobs
by eterm 439 days ago
What surprises me more is how young Subversion is in comparison to git, it's barely older.

I guess I started software dev at a magic moment pre-git but after SVN was basically everywhere, but it felt even more like it had been around forever vs the upstart git.

4 comments

I'm old enough to have used RCS. Very primitive and CVS was soon in use. Git is a breath of fresh air compared to these ones.
Any version control where you had to manually (and globally) "check out" (lock) files for editing was terrible and near unusable above about 3 people.

Version control systems where you didn't have shallow branches ( and thus each "branch" took a full copy / disk space of files) were awful.

version control systems which would have corruption data-bases (Here's to you Visual source safe) were awful.

Subversion managed to do better on all those issues, but it still didn't adequately solve distributed working issues.

It also didn't help that people often configured SVN to run with the option to add global locks back in, because they didn't understand the benefit of letting two people edit the same file at the same time.

I have a soft-spot for SVN. It was a lot better than it got credit for, but git very much stole the wind from under its sails by solving distributed (and critically, disconnected/offline) workflows just a bit better that developers could overlook the much worse UX, which remains bad to this day.

>It also didn't help that people often configured SVN to run with the option to add global locks back in, because they didn't understand the benefit of letting two people edit the same file at the same time.

I think it was more that they were afraid that a merge might some day be non-trivial. Amazing how that fear goes away once you've actually had the experience.

(I had to check because of this thread. SVN and Git initial releases were apparently about 4 and a half years apart. I think it was probably about 6 years between the time I first used SVN and the time I first used Git.)

I still use RCS, typically for admin files like fstab or other config files in /etc.

Doing `ci -l` on a file is better and faster than `cp fstab fstab.$(date +%Y%m%d.%H%M%S)`

It's always hard to describe the minutiae of things happening in the span of just a couple of years, but I think you're overly broad here.

Wikipedia tells me the initial release of Subversion was in late 2000, and for git it was 2005 - but although those were kinda just smack in the middle of my first years online, learning to code, starting with FLOSS work, and so on - I think those years were pretty important with the shift to the WWW and then web 2.0.

I basically don't remember a world without SVN, but that's probably because I just missed the cutoff and projects and companies were migrating from CVS from 2002 on or so, because the model was very similar and while it wasn't drop in, it made sense.

For git I want to say it took just a little longer, and the decentralized model was so different that people were hesitant, and before github in 2009 (I know it was founded in 2008, but my user id is below 50000 and it felt very much new and not at all widespread in non-rails circles before that) I would have called it a bit niche, actually - so it's more like a 7year span. But of course I was living in my bubble of university, and working for 2 small companies and as a freelancer in that time. I think bigger FLOSS projects only started migrating in droves after 2010/2011. But of course my timeline could be just as wrong :D

Yeah, odd to learn. I remember dipping my toes into source control, playing around with CVS and SVN right around when git was originally announced and it felt so "modern" and "fresh" compared to these legacy systems I was learning.
> What surprises me more is how young Subversion is in comparison to git, it's barely older.

Subversion was so awful that it had to be replaced ASAP.

True. Also, Subversion was so great that it very quickly replaced the alternatives that predated it.
Not true. CVS stuck around a while longer.
There were far, far worse things out there than Subversion. VSS, ClearCase, an obscure commercial one written in Java whose name escapes me now..

Subversion was basically a better CVS. My recollection is that plenty of people were more than happy to switch to CVS or Subversion (even on Windows) if it meant they could escape from something as legitimately awful as VSS. Whereas the switch from Subversion to Git or Mercurial had more to do with the additional powers of the newer tools than the problems of the older ones.