[darcs-users] darcs for managing patches?

Andreas Jellinghaus aj at dungeon.inka.de
Mon Nov 10 18:15:08 UTC 2003


I wonder if or how darcs can help me.

Like so many, if been burned by cvs way to work: people who don't
talk to other developers, but simply do whatever changes.
On the other side I read the linux-kernel ML for some time now
and admire the way they work: by sending patches to ML, discussing
them there and some main developer can accept the patch or not.

So the way I currently work is this:
two checkouts of some cvs repository, anoncvs as project
and project.orig. Then I do whatever changes I want, recompile
and test, and if I like the result, i "make distclean" the
checkout, and generate a diff between project/ and project.orig/
so all added and remove files are in that diff.

Often I work on several issues at the same time, so then I have
the manual work of chopping the diff into several files, one
for each issue, and send some of the patches to the ML for
inclusion into the project.

sometimes I keep a patch and revert the changes to project/,
so I can test the other changes I did without that one. I
can add it later again. but that doesn't happen often.

the biggest waste of time I have so far is this:
because of changes in the upstream I need cvs update,
create a new diff, and chop it into several patches again.

So, I wonder if there is some rcs software that will help
me maintaining the patches the way I work. for example
I'd love if I could say after doing some changes "this is
patch xyz" or "this is an update to patch abc" and let
the rcs record this information, so I can later say
"what patches are in this repository as opposed to the
original" and "give me patch xyz as diff against head".

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?

thanks for your advice.

Regards, Andreas

More information about the darcs-users mailing list