Migration problems from Google Code to GitHub Aug 20, 2014

Today we can say good bye to Google Code. Finally.

We’ve migrated all issues to GitHub. The first attempt of migration was a complete disaster. Sure, we tested the migration with some dummy accounts/projects, but real problems appear when you try your migration script with your project repository.

As a general rule, if you will move a Google Code project to GitHub, take care of these things:

  1. Undelete all deleted issues in your Google Code repository. Deleted issues are not migrated and numbers after them will be wrong in GitHub.
  2. If you have pull requests in your repository, you cannot do the migration. You cannot delete those pull requests and they are counted as issues in GitHub, so your Google Code issues will never match the numbers of GitHub issues.

Indeed, the decision is quite simple (and hard to take): Create a new repository, push all your branches and tags into it, do the migration of issues, and then delete (or rename) the old repository and rename the new one to the original name. For Aseprite, the old repository now is called aseprite-broken, and the new one is aseprite.

The good side: we have all the GitHub features for issues (markdown formatting, links between commits, pull requests, users, autocomplete, etc.).

The bad side: we lost all those juicy stars, watchers, and forks.

The ugly side: you cannot upload binary files to issues (only images). We will talk about this in a next post.