[Haskell-cafe] fptools in darcs now available

Simon Marlow simonmar at microsoft.com
Tue May 3 05:46:36 EDT 2005

On 01 May 2005 19:28, Sven Panne wrote:

> Gour wrote:
>> Simon Marlow (simonmar at microsoft.com) wrote:
>>> Great news, thanks John.
>>> Is it possible to set up a two-way synch so we can move over to
>>> darcs gradually?  It's not really practical for us to move over in
>>> one go, we've simply accumulated too many dependencies on CVS, and
>>> there are lots of people using the repo with CVS.  If we had a
>>> two-way synch, we can experiment with darcs non-destructively.
>> Great news, thanks Simon.
>> Nice to hear you are considering to move to darcs.
> Hmmm,
> I don't want to spoil all the enthusiasm for a new tool, especially a
> Haskell-based one, but being an old CVS veteran who recently fell into
> love with subversion, I'd really like to know the benefits switching
> to darcs.

First of all, let me say that we haven't committed to darcs in any way -
we're just planning to experiment with it.  Besides, it's not my
decision alone - lots of people (yourself included) have code in the CVS
repository, so pulling the rug out is not an option.

On to darcs vs. Subversion.  I too was excited by Subversion until quite
recently: it does a great job of being a "better CVS than CVS", but I
don't think it goes far enough.  The lack of distribution and good
support for merging are the two main drawbacks, as I see it (I'm aware
of SVK, though I haven't tried it).

Fundamentally, darcs is built on a model that is far simpler than SVN: a
repository is just a set of patches, a branch is just a repository.  I
think having a simpler model will have benefits in terms of
accessibility - I've met several people who were just not comfortable
with the CVS model, and couldn't get to grips with it.

Distribution is useful, as others have mentioned.  Having a local copy
of the repo that I can commit to before pushing patches to the main repo
is a big win, as is allowing other developers to have their own local
branches, and the convenience of 'darcs send' is going to make it easier
for people to contribute to GHC, and for us to accept contributions.

Last I checked, SVN's branching support was lacking: making a branch is
easy, but merging between branches is hard, just like CVS.  Sure they
plan to fix this (or maybe they've already improved things), but my
guess is that darcs' support for merging will always be superior because
It's What Darcs Does.  Good support for merging just falls out of darcs'
simpler model.

And I aggree with Manuel's point: we should support darcs because it's
written in Haskell!


More information about the Haskell-Cafe mailing list