[darcs-users] General questions.

Juliusz Chroboczek Juliusz.Chroboczek at pps.jussieu.fr
Wed Apr 27 19:16:46 UTC 2005


>> Darcs has three important advantages over Monotone: it's good at
>> cherry-picking, it doesn't require exotic networking setups, and it's
>> not written in C++.

> I've read a bit about cherry-picking, but I don't fully understand
> what it is. Does it mean that you can choose to accept some changes
> within a patch and leave out others?

Not quite; it means you can choose to accept some patches but not
others.  For example, you could have a new feature (A) in your
unstable trunk followed by a bug fix (B) followed by another new
feature (C); then you might merge the bug fix into the stable branch
before you merge either of the new features.

               A      B      C
  unstable: * ---> * ---> * --->

               B
   trunk:   * ---> *

(later)
               B      A      C
  trunk:    * ---> * ---> * --->


Cherry-picking is difficult with CVS and Subversion (it will cause
merge conflicts later on).  It is doable with Arch, although confusing
(you need to understand the command ``tla sync-tree'', and I've never
been able to perform successful cherry-picking in Arch without consul-
ting the friendly folks on their mailing list).  Darcs has the best
support for cherry-picking I've seen yet.

> What's the problem with C++?

I don't like it.

> But CVS doesn't use RSA sigs either... so pretty much every project
> that is using CVS today could just as well move to Darcs without any
> loss in security.

CVS is actually worse than Darcs from that point of view, as it
modifies the underlying RCS files on every commit while Darcs patches
are pretty much immutable.

                                        Juliusz




More information about the darcs-users mailing list