[darcs-users] Re: current status of darcs

Simon Marlow simonmarhaskell at gmail.com
Wed Mar 7 16:44:06 UTC 2007

Brian Smith wrote:

> Sometimes there are obvious problems on Windows that don't get noticed 
> before release.  Also, by design, the filename case handling is painful 
> on Windows--for example, it is not possible to pull the GHC repository 
> without using "--partial" on Windows due to historical changes involving 
> files with the same name in different cases. So, be extra careful if you 
> have Windows users.
> The GHC developers and others have reported problems working with 
> repositories pulled with "--partial." I'm not sure that anybody even 
> knows what the cause(s) of these problems are. People have to work 
> around it by coping their changes to a repository pulled without 
> "--partial." But, then see above.

In the GHC camp we've encountered quite a few problems with darcs, more than I'd 
like.  If I had to give an honest appraisal of how our switch from CVS to darcs 
has gone, I'd say that we're overall better off than we were with CVS, but not 
nearly as well off as I'd hoped.

The problems fall roughly into the following categories:

  1. The conflict bug.  I think people underestimate how bad this is,
     or perhaps it affects larger projects much more than smaller ones.
     In GHC, several branches we have created have needed to be merged
     using diff+patch, and merging has taken far more developer time
     thank it should.

  2. --partial problems.  I've given up on partial repositories.  It's
     pretty random whether you get a get_extra failure when moving
     patches between GHC's 6.6 and HEAD repositories if one of them is
     partial; if both are partial then you are guaranteed a get_extra

  3. Slowness of 'darcs changes <file>', such that we can't use the
     Trac integration of darcs for GHC, or the web interface.  Someone
     has been working on this recently, though (but things have gone
     a little quiet?).  Also 'darcs annotate' is unusably slow with GHC.

  4. Windows problems.  I've spent a long time getting darcs working on
     Windows, mainly the difficulties are around SSH and filename issues.
     In comparision to #1 and #2 this is pretty minor: all the problems
     are fixable, but darcs really needs the rough edges sanding off on

Right now I'm clinging to the hope that at least #1 will be fixed at some point; 
I really really don't want to switch VCs again, but darcs in its present state 
can't be a long-term solution for us.

Now for the good: there are a lot of things about darcs that I love.  I've grown 
very attached to cherry-picking and I imagine I'd be very sad to lose it.  The 
Emacs darcsum mode is a huge win: single-keystroke 'darcs whatsnew', and then 
you get to pick hunks to commit or revert interactively.  This has saved me huge 
amounts of time compared to CVS.  And 'darcs send' is getting us contributions 
that we probably wouldn't have had otherwise.


More information about the darcs-users mailing list