Continuing my fascination with all things mercurial, I’ve converted over a few of my googlecode projects (including groovyblogs and gravl). Google code has supported mercurial for a while, but it was initially piloted on just a few projects. These days the floodgates are open :-)

Google provides you with a Step-by-step guide on converting your project from Subversion to Mercurial. In the best case scenario, just do a “hg convert http://projectname.googlecode.com/svn hg-version-of-my-projectname” and you’re in business. I tried this and the changesets took so long to pull from the remove svn repo, that I gave up after letting it run for a few hours.

Fortunately, some kind soul linked to this Antwerkz page which gives you a script for syncing your entire google svn repo to your local drive (just using standard svnsync, which isn’t something I’ve played with before, so this trick might be old news to you).

With my whole svn repo mirrored locally, I could run hgconvert file://data/gravl.svn gravl.hg and a few seconds later I was done! Follow that up with a hg push https://gravl.googlecode.com/hg/ and we’re up and running (with branches and full history!):

Gravl changeset history on google code

Great stuff. Really interested to see how I copy with a wholesale move to Hg. So far things are going great!