[darcs-users] darcs for managing patches?

David Roundy droundy at abridgegame.org
Tue Nov 11 13:31:15 UTC 2003

On Mon, Nov 10, 2003 at 07:15:08PM +0100, Andreas Jellinghaus wrote:


> Most rcs documentation has those pictures with a base
> version, a left branch, a right branch, and then a merge
> of that. Using those pictures, my working checkout would
> always reflect a merge of many branches, and every
> patch abc or xyz would reflect some branch xyz or abc
> and rather than merging several branches into a common
> version, I have a common version and I'm trying to
> push some changes into a branch for identification.
> I guess I'm trying to do the opposite of what is normal?
> anyway, do you think darcs can still help me?

It sounds like the way you prefer to work is very similar to the way darcs
works.  The catch is that darcs is designed to work with darcs, not with
cvs, so there will be annoyances.

It seems that you're working on a project which you don't have complete
control over, so that means that you can't just tell everyone to switch to
darcs.  Assuming the project as a whole is going to stay with cvs, it means
we need to get the patches out of cvs and into darcs.

I've written a script to mirror a cvs repository, but it isn't very well
tested, because I haven't actually had occasion to use it.  Actually, it
really would need some rewriting.  It's written in perl, and uses cvsps to
get the information out of cvs.

You would then have your simple mirror of cvs, and any number of working
repositories.  Once you made some changes, you could use darcs diff to
create a patch that you send to a mailing list (if the other developers
were using darcs, you'd use darcs push for this).  The catch is that once
the patch goes into cvs, darcs will see it as conflicting with the changes
you made, so you'll probably end up having to throw away your working
repository (or unpull the patches that were accepted) to avoid getting two
copies of each change.  Yuck.  But then cvs is yucky, so what do you

The problem with this usage scenario (using darcs to prepare patches for
inclusion in cvs) is that it isn't what darcs is designed for.
David Roundy

More information about the darcs-users mailing list