[Haskell-cafe] Why I'd want darcs for fptools. was Re: fptools in darcs now available

Shae Matijs Erisson shae at ScannedInAvian.com
Mon May 2 04:55:26 EDT 2005


Sven Panne <Sven.Panne at aedion.de> writes:

> The learning curve for CVS-aware people is extremely low with subversion,

In my experience, darcs has the lowest scm learning curve, especially for 
users who haven't used an scm before. 

> So my question in a nutshell: Why shall we move away from the mainstream
> when the rest of the world (or most of) is quite happy with CVS or is
> moving to subversion? I'm not completely against it, but we should have
> very, very good reasons to do so.

> P.S.: Yes, I'm aware of other development models like the one used for the
> Linux kernel, where CVS/subversion are not appropriate, but is fptools
> really a similar project? I don't expect hundreds of people working in a
> very distributed manner on extensions of e.g. a type checker... :-]

There are many projects (including fptools) to which I would have contributed
patches if the startup cost of sending a patch weren't so high.

With darcs, every checkout is an independent repository, and if you have a
working sendmail/MAPI setup you can send any changes you make back to the
source of your checkout with a single command.

With darcs I immediately get the benefits of source control without needing to
make a separate copy of the master repo. With svn or cvs, I can't locally get
all the benefits of the system without a user account for the repository.
With cvs/svn I can't hack around in an anonymous checkout and only commit my
patches back to the original repo once I've decided I want to join the project.
darcs doesn't require a unix account for committers, it can receive and
authenticate patches via gpg-signed emails.

Why should authentication information be tightly bound to a repository?

Non-core members can share patches. If darcs sends to a public list anyone who
absolutely needs a patch can apply it before it gets to the main tree.
That patch will still work even if the patch never gets to the main tree.

There are a large number of potential committers on the #haskell irc channel
alone. Lots of people end up wishing for small changes to the code in fptools
but usually end up forking a library or module for their product instead.

lambdabot, the Haskell irc bot is a good example of the low cost of patch
submission encouraging rapid development. There's a surprising number of people
who've committed small but useful features because it's so easy to do.

(Much of this content is paraphrased from a recent conversation on #haskell.
Several people contributed salient points.)
-- 
Programming is the Magic Executable Fridge Poetry, | www.ScannedInAvian.com
It is machines made of thought, fueled by ideas.   | -- Shae Matijs Erisson



More information about the Haskell-Cafe mailing list