Simon Marlow:
- conflicts: working with non-trivial branches on darcs is practically
   impossible.  A fix is in the works, but it's not clear how long it
   will be before it is available in a released darcs version.

I don't think this is entirely fair. It's trivial to have branches with darcs *if* you are prepared to abandon your history on a merge. With many other (at least the non-distributed) vcs, you always lose your history on a merge. So, the conflict bug prevents us from getting the added value that we would like to get from darcs, but it doesn't necessarily put us into a worse position than with other vcses.

(Don't get me wrong, I do hate the conflict bug and it has bitten me quite badly.)

 - speed: many operations are impractical (annotate, darcs changes
   <file>), and many operations just take "too long" (i.e. long enough
that you go and do something else rather than wait for it to finish,
   which incurs a context-switch cost).

My main gripe with speed is actually pulling (esp darcs-all as it involves many repos) and push, which partially is a network issue.

 - user interface issues: e.g. in a conflict there's no way to tell
   which two patches are conflicting with each other(!)

Yes, that's annoying, but otherwise people seem to agree that darcs ui is rarely matched by other vcses.


What should we consider as alternatives? At least Mercurial and git, I would think. Any others? I think we should only consider distributed VCs.

Interesting are these two blog posts:

  http://hans.fugal.net/blog/articles/2007/11/16/mercurial-and-darcs
  http://hans.fugal.net/blog/articles/2007/11/20/darcs-and-mercurial-redux

Personally, I'd say let's stick with darcs a little longer, esp given that David seems to have a serious go at the merge problem at the moment.

Manuel


_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to