Creating a "composite repository"

Asked by Geoff Bache

I run an open source project (TextTest) that consists of a generic core and a large amount of company-specific add-ons. Currently this is in a single Bazaar repository on our network, but I would like to put the generic part of it on Launchpad.

Essentially there is a "site" subdirectory in the repository as things stand, so my current plan is to do
bzr upgrade --rich-root-pack
bzr split site
and then put the basic repository, without the new "site" repository, on Launchpad.

My only issue with this is that it's then complicated for people who work on it to check it out, update it and commit to it. There is no formal API defined between the "site" part and the generic core which means people often change both in tandem. Now, not only will they have to check out from two different locations, but they'll have to remember to update and commit to both parts separately when it would be nice if this could be hidden from them. Otherwise I see plenty of potential for errors to creep in.

Is there a better way? I'm thinking some sort of "composite repository" concept whereby different parts of your checkout refer to different repositories but you don't need to remember this all the time.

Question information

English Edit question
Bazaar Edit question
No assignee Edit question
Solved by:
Alexander Belchenko
Last query:
Last reply:
Revision history for this message
Best Alexander Belchenko (bialix) said :

You need to wait either until nested trees will be implemented, or try to use config-manager tool.

Or try to use newly developed scmproj plugin for bzr.

Revision history for this message
Geoff Bache (geoff.bache) said :

Thanks for this tip. I'm giving your scmproj thing a go. More questions may follow over there...

Revision history for this message
Geoff Bache (geoff.bache) said :

Thanks Alexander Belchenko, that solved my question.