Using Bazaar on Subversion Repositories

Soon after I started developing version 2.0 of OpenLP, we moved OpenLP over to Launchpad.net and to using Bazaar for our version control. Over the last (nearly) 2 years of using Bazaar, I've really come to enjoy working with it, and the workflow that the Bazaar integration in Launchpad offers.

At work we use Subversion for our version control, and some of Subversion's limitations, compared to Bazaar's features, have been annoying me for a while. Then I learned about the Bazaar-Subversion bridge, and I started using Bazaar to checkout my code from Subversion.

So how does it work? Quite well, actually, and on top of that it's very simple to set up.

First you need to install the bzr-svn package on Ubuntu:

@:~$ sudo aptitude install bzr-svn

Then, it's the matter of checking out your code:

@:~$ bzr co http://svn.domain.local/svnroot/myrepo/trunk trunk

Note: If you're using HTTPS, you need to change your protocol slightly, to use the Python urllib module, rather than the Python curl module, which Bazaar uses by default:

@:~$ bzr co https+urllib://svn.domain.local/svnroot/myrepo/trunk trunk

There we go, now you can use Bazaar commands to update, commit, etc:

@:~$ bzr update
@:~$ bzr status
@:~$ bzr commit