Shared repositories with different projects

John Arbash Meinel john at arbash-meinel.com
Wed Dec 10 15:48:05 GMT 2008


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

Lionel Dricot wrote:
> Hello,
> 
> I've setup a shared repositories available with a smart server over bzr+http
> 
> But it happened that, finally, no branches were created for the project
> I'm working on. Instead, other projects started to use bzr and were
> "pushed" in the same shared repository.
> 
> So currently, I've a shared repository with differents projects.
> 
> From a user point of view, it's very handy : URL are all of the type :
> bzr+http://server/bzr/MY_PROJECT
> 
> But I was wondering : is there any concern about performance or whatever
> due to the fact that it was started as a shared repository ?

Certainly the larger a repository is, the more work we have to do to use
it. However, we have tried hard to make sure that most operations are
linear or logarithmic in the number of revisions. So if you have 2
projects with 10k revisions each, that should be equal to or faster than
one project with 20k revisions.

Also, the client will detect where the repository is, so if necessary,
you could always split out one of your projects into its own repository.
As an example, it should work just fine to have:

/bzr
  .bzr # shared repository for most projects
 project1/ # uses the base repo
 project2/
 project3/
  .bzr # shared repository for *only* project3 branches

etc.


> 
> Also, I've read that there are different formats. How can I know which
> format is the best to use right now and how can I convert the repository
> to this format ? bzr upgrade replies :
> $ bzr upgrade
> bzr: ERROR: The branch format Bazaar-NG meta directory, format 1 is
> already at the most recent format.
> 
> Thanks in advance :-)
> 
> Lionel
> 

That means that you are at the latest "default" format. We have another
format with more efficient indexes. For compatibility reasons, we
haven't set it as the default format. To specifically request it, you
can use "bzr upgrade --1.9".

If you do it at the repository level, it won't change the branch
formats. You have to upgrade each branch separately. (Upgrading the
branch format will enable "stacking", which doesn't sound like something
you need, since you have a shared repository already.)

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkk/5LUACgkQJdeBCYSNAAM2mQCfdUX8MlQkIDZarOtS3ugqEUPd
bOcAnjQz0kNa8Vkv4jyvQx8Fs6e/YqDV
=61wT
-----END PGP SIGNATURE-----



More information about the bazaar mailing list