[darcs-users] How to "simulate" CVS vendor branches?

Peter Simons simons at cryp.to
Sat Oct 25 19:58:05 UTC 2003

CVS has a nice feature called the "vendor branch", and right
now I'm wondering how to accomplish its purpose in darcs.
The idea is, that you can track other people's software (and
your changes to them) in your _own_ repository (because they
don't have any).

You basically check-in ("import") a source tree. Then you
customize it like you see fit and commit those changes. When
a new "vendor version" of the software is released, you just
"import" it again, and CVS will generate diffs from their
original version to their new version, which you can merge
into your modified branch.

Now my problem is this:

 - I have a bunch of libraries, which _I_ control, and which
   are re-used in several different projects.

 - I have 3rd-party tools, which I need to customize, but I
   still want to import new versions with minimal effort.
   (And version control.)

 - Every project contains _local_ files, which should not be

 - I want to feed modifications to libraries back into the
   "main" repository, so that all repositories will
   eventually benefit from bug fixes, etc. But I don't want
   to feed project-local files into the library
   repositories, of course.

How would I set this up? Do I use several distinct darcs
repositories and push/pull individual patches around with
some tag trickery?

Or is this all really just _one_ repository with even more
sophisticated tag trickery?

Any advice is welcome, because I honestly have no idea how
to do that. :-)


More information about the darcs-users mailing list