Interview: David Roundy of Darcs Revision Control
comforteagle writes "In the aftermath of our last interview with Tom Lord, regardless of personalities, it became apparent that the idea of decentralizing CVS is a big deal. Many mentioned darcs as an alternative to Arch. Mark Stosberg has interviewed project head-hancho David Roundy about darcs, his 'theory of patches,' what's next, and on using Haskell for the project."
While "Darcs is written in a Haskell, a functional language that is relatively unknown compared to C or Perl", this really does hurt it's common use. Not being able to get a larger group of developers such as C, C++, or even some interpreted projects means that it becomes one or a few developers working on this project which means fewer patches and additions. A community project will ultimately be the versioning system for community projects. -M
when you see the word 'Linux', drink!
Mighty vague, that. What instances is CVS better in?
Compared to modern revision control systems, I don't think CVS is even in the running. It's SVN (in the non-distributed camp), and Arch, Darcs and Monotone in the distributed camp... with plenty of infighting between them.
> the use of haskell eliminated it as a choice for me. I use
...without looking it up?
> subversion instead,
So... How many times have you made local modifications to Subversion, and how many patches have you submitted?
Which language is Subversion coded in
Thanks.
No. Darcs can, and will, apply patches out of order. From the Darcs manual:
A distributed version control system that required all patches to be applied in order would be painful indeed to use.
Why? Are you a Subversion contributor?
It seems to me that a LOT of people in these comments are remarking that David's choice of Haskell makes darcs a no-go. I would make this comment:
If someone told you to use <Tool X> for a project, you would say, "No way, <Tool Y> is more suitable for this job, and it's what I want to use." (substitute X and Y with whatever - C/Java/Perl/VB - you want).
I think David chose what he felt was the best tool for the job, taking the problem-to-solve and his own expertise into consideration. In the light of Paul Graham's insights I really think he should be applauded rather than criticised.
All interpreted languages are abstractions over Lisp
CVS doesn't have atomic check-in, it's directory handling is crap, etc. etc. Still, like you said, it's probably still the best bet if you want to do development on both UNIX and Win32, although Subversion(!) is catching up fast.
You need to "learn Haskell and the theory of patches" to use darcs about as much as you need to learn C programming and diff algorithms in order to use Subversion, namely not at all.