Maintaining a project with several SCM (including bzr)

Matthieu Moy Matthieu.Moy at imag.fr
Fri Nov 11 15:47:11 GMT 2005


Hi,

For the development of DVC (http://wiki.gnuarch.org/xtla#DVC), we have
several backends (curently GNU Arch, bzr and mercurial). We'd like to
develop each back-end with the tool for which it is designed (i.e.
manage Bazaar 1 support using Bazaar 1, bzr support with bzr and so
on). Currently, I'm a bit frustrated to use Bazaar 1 to develop a
Bazaar 2-related tool. If we want to invite, for example, Darcs people
to develop a Darcs back-end, we clearly don't want to force them to
use our SCM (whether it's GNU Arch or another one).

AAUI, bzr can import Bazaar 1 archives relatively well, but this is a
one-time and one-way conversion. If ForeignBranch get implemented,
then we can keep the mainline as a GNU Arch archive, and let bzr users
access it with bzr. But this doesn't solve the problem in the general
case.

One option is to have the developer of the mainline use all the tools,
in the same tree, and commit with each of them each time. For example,

$ <hack hack hack>
# or "baz merge foo at bar.com/...", or "bzr merge http://..."
$ baz commit -m "message"
$ bzr commit -m "message"
$ hg  commit -m "message"
...

But 1) this is painfull and 2) it doesn't solve the merge history
problem. The project will have a different merge history in each SCM.

Another option is to make nested trees for each back-ends, and to use
the appropriate tool for each subtree. But we still have to chose a
tool to manage the core of DVC. That can be bzr or Darcs, which are
both easy to use and to set up (no dedicated server). The problem is
that this means making at least 3 subtrees, for a project which is
still relatively small (4 operations to get a fresh copy or to update
a < 1Mb project).


That's not a crucial issue, but I'd like your advice on the cleanest
way to manage this situation. Most of all, I think the experience of a
multi-scm project can be fun! The question "I want to contribute to
the project X, but I surely don't want to use their brain-damaged SCM"
is becoming more common ...

Thanks for your advices,

-- 
Matthieu




More information about the bazaar mailing list