dmo.ca/ blog/ Migrating issues from Google Code to Github

I'd much rather use Git over Subversion, but I still have one project (leaguerunner) using Subversion on Google Code. Migrating the code itself to git is fairly simple, but being unable to migrate the issues still needs some tool development.

For a while now, I've been playing with SD as a way to migrate issue tickets from gcode to github. Unfortunately, it happily pulls from either github or gcode, but won't push from one to the other. And worse, it silently fails, leaving no useful indicator as to why it didn't work. The SD code itself has multiple abstraction layers between the issue tracker interfaces and their own internal representation, making it difficult to figure out where the problem might be happening.

SD uses Net::Google::Code and Net::GitHub to interface with the respective issue trackers, so it turned out to be much simpler to write a one-way migration tool than to figure out why SD didn't work.

As a starting point I used a script I found in an old blog post by Miyagawa, which synced tickets themselves, but no comments or status.

The extended script, whch currently handles status changes, labels, and comments, as well as half-assed mentions of the original commenter or issue requestor (as Net::GitHub's API doesn't allow you to open tickets or comment under other identities) is available from github.com/dave0/gcode-issue-import.

It's probably full of bugs, and isn't production-ready yet, but it produces a usable conversion -- see github.com/dave0/lr_test_import for a sample (though it may be deleted at any time)