Distributed Version Control

I just read this article on distributed version control by Ben Collins-Sussman who is a lead developer behind Subversion. If I understand his arguments, he basically says that DVCS is better than centralized VCS, but you probably should not use one since 80% of all developers are too dumbfounded too understand VCS at all.

I am one of the pretentious, self-righteous and obnoxious fanboys of DVCS. And let me tell you this: the difference between using DVCS and Subversion is on par with the difference in programming in Ruby compared to Java. If you have made the switch you just do not want to go back.

And finally: We have taught our GUI-guy Martin to use Mercurial. He has limited experience of using VCS's, but he grasps the difference between commit and push. My face is straight saying this.

  • del.icio.us
  • Digg
  • DZone
  • Technorati
  • Reddit

Tags: , , , ,

  • Ben Collins-Sussman

    I use mercurial myself for some projects, it's great. But I think you took my post a touch too literally. I wasn't saying that "you should avoid DVCS because most people are too dumb to understand VCs at all." I was really trying to give a checklist, saying "here are the things DVCS's need to achieve to become accessible to the majority of the industry." I have no doubt that they'll happen someday.


    (And sure, I have no doubt that you can teach certain people to use Mercurial. The whole 80-20 analogy is a gross oversimplification: the real world is full of scales of grey, and people fall into many places along that scale.)

  • Ben, thanks for your comment, I appreciate your clarification. I still disagree with you on the checklist though. The corporations-want-a-single-branch thing for example: Many corporations use ClearCase with a branching frenzy, and they spend days and weeks merging. They would benefit in a huge way from using a tool actually designed to do branching a merging.

blog comments powered by Disqus