Using Git with the Boo Subversion repository

Everything you need to track the Source can be found on the Git SVN tutorial.

It can take a while to import the full Boo history into Git. To speed up the process, we have set up a bootstrap Git repository that contains a recent copy of SVN history.

Initializing the SVN import

First ensure that you have a recent Git(at least version 1.5.1). If you are using Windows, msysgit is a nice and stable port.
The initial steps are almost the same as with any GitSVN import :

mkdir boo
cd boo
git svn init https://svn.codehaus.org/boo/boo/trunk

(replace url by https://USERNAME@svn.codehaus.org/boo/boo/trunk if you have commit-access)

This will setup an empty Git tree with a GitSVN import source named git-svn.

We now populate the tree from the bootstrap repository with :

git pull git://repo.or.cz/boo.git refs/heads/master:refs/remotes/git-svn
git reset --hard git-svn

You now have a full mirror of the Boo SVN tree with all the history upto whenever the bootstrap was last updated.

You can update your local repository with :

git svn rebase

(use this whenever you want to synchronize your git tree with the upstream Boo subversion repository)

Profit

You can now work and commit on your own local branches, submit patches based on one of your branches etc... usual Git stuff (wink)
All of this taking almost the same disk usage than if it was just the trunk HEAD svn working copy.