
On 01 May 2005 19:28, Sven Panne wrote:
Gour wrote:
Simon Marlow (simonmar@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! Cheers, Simon