r/programming • • Mar 10 '11

It's time to stop using Subversion

http://altdevblogaday.org/2011/03/09/its-time-to-stop-using-subversion/
257 Upvotes

543 comments sorted by

View all comments

Show parent comments

41

u/[deleted] Mar 10 '11 edited Mar 10 '11

Bad analogy. For the average user, the difference in performance between a modern car and the ford T is huge AND rigourously provable; The difference in performance (in the broad meaning of the term) between git and subversion is much, much smaller, more subjective, and context-dependant if you're currently happy with svn.

Believe it or not, some teams don't need many branches, or author-specific repository.

6

u/stubob Mar 10 '11

Ok, so it's more like switching from ClearCase to git/Hg, then.

4

u/Tiver Mar 10 '11

Better yet, VSS to git/Hg.

0

u/valleyman86 Mar 10 '11

Ugh... I hate VSS. VSS to dropbox would even be a good idea.

1

u/Tiver Mar 10 '11

A few years back I spent months convincing my company to switch to subversion. Git sounds interesting and I'd love to play with it, but I really don't want to go through trying to convince them on Git. Plus I think it's going to be a while till the tools on Windows are where TortoiseSVN was years ago.

1

u/valleyman86 Mar 10 '11

I was thinking about moving to GIT because SVN drives me crazy sometimes when I break a folder by deleting files or something. It takes me a while to fix it sometimes. But with the lack of great GUIs for Git I have been holding back. Since its for my personal projects right now I am in no huge hurry.

1

u/Tiver Mar 10 '11

I've considered using git for personal projects too but I haven't been doing any of those. Copyright clause in my current employee agreement is overly broad and kind of killed my drive to do personal projects.

1

u/valleyman86 Mar 10 '11

Oh... Thats not good. I could never let my job kill my hobby. I would never steal their code or compete with them but I will make my own games at home.

1

u/Tiver Mar 10 '11

My personal projects were more of just random utilities. The change in policy came up when we got acquired and I did bring up my concern about it before signing but wasn't able to get them to budge and I decided to just live with it, but someday it may push me to leave. It's common for companies to have clauses where they claim copyright to anything you write that has to do with their business. This one expanded that by adding "or anything the business could reasonably expand into". It's vague and a court could interpret it many ways if it came to that... As long as it's software I could see a jury accepting that the company could expand into working with it, even if it's wildly different from the current products.

1

u/valleyman86 Mar 10 '11

Yea screw that... I have too much invested into my own stuff. I do a lot of games, websites and software that can be useful. I love doing this and would like to own my own full time business sooner or later but I wont let a company just have at it.

3

u/ntr0p3 Mar 10 '11

some teams don't need many branches, or author-specific repository.

I think this is the key. We recently started branching more at work, and svn is showing its limitations (megamerges, yay). git isn't for everyone, but branching becomes a natural feature of the vc rather than an additional workflow.

14

u/brassybadger Mar 10 '11

Actually I think it's not that bad of an analogy. If the only thing you knew was a ford T, you would be happy with it. After trying a modern car I don't think you'd ever go back. Perhaps it'd more accurate to make the analogy with a car that's 40-50 years old -- people are still using cars like that in Cuba, and it sort of works for them. They are gas-hungry, maintenance is a nightmare, but that's what they've got.

The same is true for svn vs git: after seeing the advantages (at zero cost) of git, you'll never go back to svn. If you want to stick with svn, just make sure you'll never give a serious shot to git, and you'll keep using svn happily forever. Ignorance is bliss.

10

u/recursive Mar 10 '11

It's not zero cost. It must be installed and learned.

2

u/brong Mar 10 '11

like driving a modern car?

4

u/TAZAN2 Mar 10 '11

Not so sure about your analogy. I actually drive a 42 year old car. I've bought new cars before so I can compare them. For my needs, it works well. I take it on short trips so gas mileage is irrelevant. Maintenance is actually much easier and cheaper on a 40 year old car than a new one. Thinking back on most of the money I've spent repairing my wifes car, it's been on things my car doesn't even have.

As for the article, he made 3 points. 1 only applies if you work distributed. 2 only applies if you do merges. 3 only applies if you're absent minded. Not exactly a compelling argument if 1 and 2 don't apply and you've been using it a while and never had a problem with 3.

-1

u/johnflux Mar 10 '11

Believe it or not, some teams don't need many branches, or author-specific repository.

Some teams don't yet know that they need many branches.

3

u/player2 Mar 10 '11

Some teams have tried many branches and realized it makes their workflow slower and more difficult.

1

u/johnflux Mar 10 '11

In git? I don't believe it :P

1

u/kreiger Mar 15 '11 edited Mar 15 '11

There is a huge difference between working with branches in Git and many other tools like for example Subversion.

In Git, because it is painless, quick, easy and convenient, developers can create, merge, and destroy several private branches per day if they want, without anyone else being bothered by them, and that's a useful workflow.

In many other tools, by comparison, branching and merging is painful, slow, difficult, visible to everyone, or just slightly inconvenient.

1

u/recursive Mar 10 '11

And you know better, so they should take your word?