about img
blogger img

scotts posts image

UnderPaidLoveMonkis posts img


Excited about distributed SCM - Darcs

Scott Rippee @ 7:34 pm February 10th, 2007

I’ve known about distributed source control management systems for a while and have heard about Darcs several times, however, reading their getting started page got me a little excited.

Their examples show how easy it is to use and the key features brought up benefits that I had not previously realized about a system like this. Some of interest:

  • Linus mode. I want to add a feature or bugfix to an open-source project. I make a local Darcs copy, apply my changes, then send my changes by email (”darcs send”). The project’s maintainer(s) can decide whether to accept or reject the changes. This way, you don’t necessarily need to screw around with commit privileges. This is how Darcs itself is maintained, by the way. This is also similar to the way Linux is/was maintained, except the process is implemented in software.
  • Parallel development. Let’s say I follow the development of this open-source project, and I have some “controversial” patches that aren’t accepted by the official maintainers. No problem — I make my changes, release my own distribution. It’s a fork, of sorts, but it’s still connected to the mainline. Whenever the official project makes changes, I do a “darcs pull” to get them, and resolve any conflicts. This way, my fork is kept up to date with the main project’s repository.
  • Easy local revision control. CVS/RCS is popular for versioning home directories, /etc, etc. With Darcs you get the simplicity of RCS with the power of, well, Darcs. Maintaining the same config on a myriad of PCs becomes easier, not least because Darcs supports pushing of changes; I can make changes and push them to all my servers with a single command.

4 Responses to “Excited about distributed SCM - Darcs”

  1. Max Says:

    Wow, that’s amazing! For anyone that ever worked with CVS or Subversion this might not sound like earth-shattering features, but for those of us who are stuck with some horrendous piece of source control as (unmentionable system, rhymes with “drowned”) this is very drool-worthy. I think the most important feature is the ease of configuration and maintenance. The big question: how stable is it?

  2. UnderpaidLoveMonki Says:

    Try Mercurial:

    http://video.google.com/videoplay?docid=-7724296011317502612&q=Google+techtalks+engEDU

    Distributed scms are not new. There’s git, bazaar, bzr2, mercurial…

    btw, Perforce is centralized scm, just like cvs and subversion.

  3. Scott Rippee Says:

    Of course they are not new, but they are quite cool.

  4. UnderpaidLoveMonki Says:

    Here’s a comparison of darcs versus other SCM tools:

    http://changelog.complete.org/posts/528-Whose-Distributed-VCS-Is-The-Most-Distributed.html

Leave a Reply

Subscribe without commenting