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

Look, far be it from me to always be chasing and advocating the new hotness, and declaring the ignorance of the dark ages (ie. 5 years ago), because it's very very rare in technology that something is so utterly and dramatically superior in every technical aspect as Git (or Mercurial, or Darcs) is over SVN.

I'm not going to write the usual dissertation, because I've done it before, and I personally could not care less what you use in your shop. But suffice it to say that subversion conflates the notions of repository, directory, and branch in such a way as to leave the entire system crippled beyond hope of repair, and it will always be full of nasty edge cases internally in order to support this "simplified" model.

Now I understand there are many many valid reasons why it might be necessary to use subversion, but an easier transition from CVS is not one of them. As a professional developer you undermine your credibility in the community when you say things like that.

Version control is a developer's bread and butter. Investing in using one of the good ones may be the single greatest skills ROI a developer can get. Unless you understand both git and svn intimately, you won't grok this, but let me state from hard-won experience that in SVN you can occasionally hit nightmare scenarios requiring days or even weeks to sort out a problem that could be solved in under an hour in git. Similarly, many minor hassles in SVN (such as hot fixes) become trivially easy in git. Finally, git's repository model lends itself to better understanding and knowledge transference to other VCSes, because the conceptual model (not the UI) is elegant and well-defined. I understood git's internals after 6 months of daily use better than I understood the internals of SVN after using it for more than 6 years.

Okay, I guess it was a dissertation after all.



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

Search: