bzr shared repos

Jordan Mantha mantha at ubuntu.com
Fri Mar 28 02:02:50 UTC 2008


Hi all!

This might not be earth shattering for anybody but with the help of 
lifeless and abently on #bzr I played around with using bzr shared 
repos. My motivation was that I had an edubuntu-hardy branch on my 
machine but wanted to get ubuntu-hardy so I could make sure I had synced 
the common directories (common/ and libs/) and wanted to see how things 
have progressed. Suffice it to say I'd forgotten just how long it can 
take to get an Ubuntu docs branch. After some discussion about bzr 
formats, checkouts, etc. I ended up creating a shared repo and used that 
to hold both edubuntu-hardy and ubuntu-hardy branches. Here's what I did:

bzr init-repo --rich-root-pack ubuntu_documentation
cd ubuntu_documentation/
bzr branch ../edubuntu-docs
(wait for ~36 min as it converts formats)
bzr branch 
bzr+ssh://bazaar.launchpad.net/~ubuntu-core-doc/ubuntu-doc/ubuntu-hardy
(wait for 90 as it downloads and converts formats)

Now the big slow down here seems to be that our bzr-converted-from-svn 
branches are in dirstate-with-subtree format which is not as fast as the 
newer formats and and isn't supported by shared repos so bzr has to 
convert to the rich-root-pack format.

The advantages to the shared repo are:
1. It saves space. My regular edubuntu-hardy branch is 211 MB. The 
entire shared repo (edubuntu-hardy + ubuntu-hardy) is only 200 MB.
2. It should be much faster to get addition branches once 1 has been 
branched. For instance once I had the edubuntu-hardy branch in the 
shared repo bzr only had to get 178 (out of 3600+) revisions.

So, the suggestion from #bzr was to get a Launchpad code hosting 
guru/admin to convert our branches into the newer format so that we get 
both the speed improvements and the ability to do shared repos without 
having the speed hit of having to convert formats on the fly.

Hope this makes some sense. I just needed to write it down before I 
forgot. :-)

-Jordan




More information about the ubuntu-doc mailing list