Let me join the chorus of darcs evangelists. About a year ago, I think, I went on a crusade. I was fed up with CVS, and had heard all kinds of cool things about distributed version control. I liked the theory of arch, but no way in a million years could I swallow that terrible interface. SVN I was already familiar with, but I was interested in distributed version control. Monotone and another that I can't remember, and darcs all looked to be in about the same place. I read their websites and docs and decided darcs and I were a pretty good match, so I gave it a try. I didn't care that it was written in Haskell, but wouldn't it be rather hypocritical for this ruby fanatic to toss away a potentially great program because it was written in an obscure language? I might have cared if installation were not as simple as apt-get install darcs. I'm rambling. Let me try and sum it up. To me, darcs is to version control as Ruby is to programming. It's simple, elegant, powerful, and easy to pick up by the majority of developers (see the CVS transition chapter in the docs). It reportedly has scalability issues and speed issues on large projects, but I've never hit any limitations (this is similar to ruby itself, also). The distributed paradigm is wonderful, I can work on projects in several places without worry, I can work on my laptop when I have no wireless. I am basically freed from the tyranny of the version control system. Darcs is my friend, not my enemy. It helps, not hinders. blah blah blah. Do yourself a favor and give darcs a try. It's probably not the best SCM for all situations, just as Ruby is probably not the best language for all situations, but it's my favorite. Most importantly, try something distributed, and whatever you do don't use CVS if you can help it.