[rfc] split shared repository by projects

Alexander Belchenko bialix at ukr.net
Sat Jan 27 00:32:31 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I thought about tags and multiple projects in one shared repository,
and what I'm think:

1) now bzr holds main repository info in 3 main knit files (with indexes):
	* inventory
	* revisions
	* signatures

I assume that tags should be stored in separate knit file,
like tags.knit

2) to split repository to several projects we need a way to hold
the list of available projects in repository and separate instances
of 3 knit files above for each project

So:

3) we need to add the text file 'projects-list'
in the .bzr/repository directory;
this file holds a list of available projects, one project name by line

4) we need to add directory .bzr/repository/projects. Inside this directory
will be added subdirectory for each project. Inside those subdirectories
will be stored 3 main knit files (as in 1 above). In this case tags
will belongs to this project (they will be in project namespace)

5) Each branch should store the name of project the branch belongs to.

6) Probably we need new command 'init-project' or 'add-project'
to initialize new project in repository. This command should create
new branch as well

7) When someone clone one project branch then new branch get the same
project name

8) Initialize new empty branch inside shared repo with projects
is possible, because of 7. Probably we need a way to bind empty branch
to existing project

9) Project management: commands to list existing projects, branch project,
delete project


It's not specification draft but something about it.
Proposed scheme is not backward compatible, and it require new repository
and new branch format.

But at firt look changes is not dramatically big, so it's  seems doable
even for 0.15.

Am I miss something important?

- --
Alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFup2fzYr338mxwCURAo4vAJkBqrEBQWoEwo1rh8bmU955WmdsGQCbBakL
GT5xryXrlSaitVrY9MUK4DA=
=Dwdo
-----END PGP SIGNATURE-----




More information about the bazaar mailing list