Migrating from Subversion to Bazaar

There are a lot of options when moving from Subversion to a next-generation Version Control System, but Bazaar's ability to interact with a subversion repository can make the transition easy and painless. While it is possible to use the bzr command in a subversion checkout or use it to connect to a subversion repository, you sometimes want to completely move to Bazaar and stop using subversion at all. Here's how to do it.

First of all, I assume that you have your SVN repository on a server to which you have SSH access, and that you have bzr installed on that server as well. The action will be taking place on the server, so connect to it using your favorite SSH client, then enter the following command:

svnadmin dump -q path/to/my_svn_project > my_project_dump

This command exports all revision information stored in the my_project SVN repository into a file. The -q (quiet) option makes a difference if you connect to your server remotely (you don't want to stream the whole progress report through the standard output).

The second step is now to import this information into a bzr repository:

bzr svn-import my_project_dump new_path/to/my_project

Tags: svn, bzr

Comments

What was your motivation for the switch?

I'm seeing that Bazaar is getting traction - what were your reasons for the switch?

Usability

Although Subversion had pretty much all the functionality that I needed, I was annoyed by little things like having ".svn" hidden directories everywhere, which always caused problems now and then. I've also had problems opening a subversion checkout from different tools on the same computer (like the command-line client and eclipse). I still use Subversion in some cases when the people I collaborate with are more familiar with Subversion.

Of all the next-generation VCS, I've tried git and bzr. In terms of functionality they're pretty much equivalent to me. The decentralized/off-line capabilities are nice, but to be honest I haven't used them much. I started with git, but I fell in love with the ease of use of bzr. Among the things that made it easier to use for me (and the people I work with) is that it uses mostly the same commands as Subversion (which is generally the greatest common denominator between different developers). The fact that it doesn't assume that you want to work in a decentralized fashion (which is generalyy not the case when you're building a website), so you don't end up having people push/pull/update everywhere.

In short I chose bzr over Subversion and Git because that's what I found most practical for the kinds of projects that I work on.

Post new comment

The content of this field is kept private and will not be shown publicly.