renemoser.net

more or less a tech blog
  • Home
  • Contact
  • Projects

Why SVN sucks

Posted by resmo on September 12, 2008 09:39 am under GNU/Linux, OSS

I started using SCM with Subversion (SVN) [1] years ago and was quite happy with it. There were some quirks like:

  • the .svn directory in every directory
  • branching is in most cases senseless, it starts a complete new independent tree. You can not really merge! (See also “Subversion merge reintegrate” [2])
  • I like to develop my projects in the train, airplane, parks, restaurants. But SVN must have network support if you want commit. Of course you can install SVN locally and commit to there but what about other team members? It makes more troubles than anything else… So i just made huge commits most of the time.

but I said to myself, you will not find a piece of software which fits into my needs, right?

Few weeks ago, I found speeches [3][4] of GIT by Linus and Schwartz on Youtube . And it seemed GIT solved every issue i had with SVN. After that I looked deeper into GIT [5] and was amazed:

  • It is so fast
  • Uses only flat files
  • Branching and merging is a cheap action! You can make as much branches of your master as you want, you actually make a new branch for every feature or experimental work you develop. You commit into this branch and nobody sees, because it is local. After finished you just merge into your master branch or you delete the experimental work. EASY!
  • Only one .git directory, so a rm -rf .git in the project root removes GIT versioning.
  • It can interact as a SVN client with git-svn. So you will be able to commit into git in your local branch, merge and commit to SVN remote. But there is no need at all to have a centralized SVN repository, you will be able to have a public GIT repository.
  • GnuPG support (for your web of trust)
  • Actually i didn’t find any quirks, it just fits!

I wonder why so many open source project still using SVN? Maybe they use GIT as SVN client or they just don’t know better.
[1] http://subversion.tigris.org/
[2] http://blogs.open.collab.net/svn/2008/07/subversion-merg.html
[3] http://www.youtube.com/watch?v=4XpnKHJAok8
[4] http://www.youtube.com/watch?v=8dhZ9BXQgc4
[5] http://git.or.cz/

Tags: git, scm, subversion, svn

No Comment

Comments are closed.

Posting your comment.

  • Search

  • Archives

    • August 2010 (1)
    • May 2010 (1)
    • April 2010 (3)
    • February 2010 (2)
    • January 2010 (3)
    • December 2009 (1)
    • November 2009 (3)
    • October 2009 (2)
    • September 2009 (3)
    • August 2009 (4)
    • July 2009 (12)
    • June 2009 (5)
    • May 2009 (6)
    • April 2009 (3)
    • March 2009 (4)
    • February 2009 (5)
    • January 2009 (10)
    • December 2008 (14)
    • November 2008 (8)
    • October 2008 (10)
    • September 2008 (11)
    • August 2008 (7)
    • July 2008 (13)
    • June 2008 (6)
    • April 2008 (5)
    • February 2008 (3)
    • January 2008 (4)
    • December 2007 (1)
    • November 2007 (3)
    • October 2007 (5)
    • September 2007 (4)
    • July 2007 (1)
    • June 2007 (8)
    • May 2007 (8)
    • April 2007 (3)
    • March 2007 (2)
    • February 2007 (3)
    • January 2007 (1)
    • December 2006 (6)
    • November 2006 (2)
    • September 2006 (4)
    • August 2006 (6)
    • July 2006 (3)
    • June 2006 (5)
    • May 2006 (5)
    • April 2006 (2)
    • March 2006 (11)
    • February 2006 (2)
    • January 2006 (9)
    • December 2005 (10)
    • November 2005 (13)
    • October 2005 (13)
    • September 2005 (13)
    • August 2005 (16)
    • July 2005 (3)
    • June 2005 (4)
    • May 2005 (6)
    • April 2005 (9)
  • Categories

    • GNU/Linux (90)
    • Innovationen (14)
    • Java (55)
    • Networking (54)
    • OSS (185)
    • PHP (39)
    • Security (53)
    • Studium (14)
    • Uncategorized (1)
    • Unkategorisiert (82)
    • Unterwegs (18)
    • Web (4)
  • Tags

    android antivir backup bittorrent chaos radio express cre dns dnsbl eclipse events firewall flash framework fun git github gnupg iphone Java javascript junit ldap linux m0n0wall mac maven monitoring mvc nagios perl PHP podcast proxy server rss scm script snippet spring svn ubuntu video virus vmware web 2.0 web server

  • Pages

    • Contact
    • Projects

Copyright © 2010 renemoser.net
WordPress Theme . Design modified by rene moser