Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Subversion... the version control system of choice for people that don't understand version control.


Please feel free to educate us. I use version control and have done for years. I don't branch or merge, and svn works brilliantly for me. It stays completely out the way and allows me to rollback, see changesets, logs, etc if I need. If I wrote a version control system based on my own use case, it'd end up pretty much like svn.

What am I missing?

I've read all the "Git is AWESOME" posts. If I switched to git, it would be exactly the same. It wouldn't solve any problem for my use case that svn doesn't.

Seriously unimpressed with your comment to be honest.

Either make a valid argument as to what I don't understand about version control, or retract it.


I mostly agree, but have been using git almost exclusively lately. The big draw for me is the ability to (easily) commit locally (and roll back those commits if I mess something up), then push commits to the "master" repository selectively. If SVN allowed for a similar workflow, it would satisfy my needs just fine.

Of course, any distributed VCS would probably fit that description... I found mercurial to be nice as well, and I used it happily for a couple projects. The primary reason for switching to git was to become familiar with another tool.


Just install a local svn repository :/


An option perhaps, but "just install git" seems even easier.


How do you un-"svn update" after you don't like its auto-merge?

(Unless you never use svn update, you do branch and merge. You just don't have any control over how it works.)


Two developers working on the same files at the same time is a suboptimal arrangement, and should it arise, actual communication outside of the VCS is necessary.

Git automates patchset management, not merging of rapidly diverging branches of the -same- code. With or without git, independent developers working on a set of patches for the same code will introduce genuine implementation conflicts that can not be merged without independent communication.

If, however, you should find yourself in this remarkably inefficient situation (ie, a commit war over simultaneously modified files), I recommend:

1) Speak to the other developer.

2) svn diff >saved.diff && svn up OR tar -cf ../svn.bak.tar . && svn up


I've never needed to do that. The auto-merge has never failed for me.

Give me an example of when you "wouldn't like its auto-merge".


All the time? Sometimes I am working on Bar, and want to update Foo. Unfortuantely, someone changed Bar, and now I have to deal with that change right now no matter what. And, I don't get the opprotunity to decide if I want the change to Bar; svn just auto-merges the changes in. There is nothing I can do to stop that, and no way to revert the change once it's happened. (In git, you can roll-back to any committed state. In svn, you can't even commit if there is a conflict.)

Anyway, I am glad you like svn. But it is probably due to some reason other than svn's technical merits like, "at least it doesn't have all these Ruby fanbois." That is totally understandable, ignornat fanboi-ing is VERY off-putting. (To be fair, I started using Git loooong before it was popular. So I don't consider myself a fanboi.)

Also, you don't learn anything new by sticking with what you already know. Perhaps it is worth expanding your horizions. Maybe try creating a branch in svn and go from there -- you might like it.


For me, it's like trying to persuade me to use ReiserFS, rather than ext3. I just don't care unless it's performing badly.

Why can't you just "svn update Foo" ? Then you don't have to deal with the changes to Bar :/ I don't really see what the issue is. Are you often working on exactly the same files as other developers, and not co-ordinating what you're doing?

>> "Anyway, I am glad you like svn. But it is probably due to some reason other than svn's technical merits..."

I like it, because it solves my use case perfectly. I'm not quite sure you understand that.

I'm not one of these people that love technical solutions for the sake of being technical.


You also seem to be intentionally closed-minded, for the purpose of gaining karma on social news sites. I think that's sad, but I realize that it's your loss, not mine.


I care not a jot about karma. What I do care about is ill informed people spouting rubbish.

You stated that anyone using subversion must not understand revision control. Which is an idiotic comment.

I detest this pompous high and mighty tools based attitude. Does anyone not using lisp not understand programming? Anyone not using ruby on rails not understand how to build webapps?

I'm actually very open minded. When I have problems with subversion, I'll likely try git if it fits my use case at the time. At the moment, it doesn't.


You stated that anyone using subversion must not understand revision control. Which is an idiotic comment.

But you said above that you don't want to understand version control; you said you just want to use it. This does not disprove my statement.


But, but it's cool to love git!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: