How Atlassian migrated from SVN to Git

Change is good – right? We like to think when moving to a distributed version control system like Git or Hg that change is very good. Atlassian has been moving all of their development teams from Subversion to a distributed version control (Git or Mercurial). There are some tips, tricks and gotchas that we have encountered along the way.

The Confluence team, at Atlassian, recently switched from Subversion to Git on Bitbucket using git svn – Stephan, a developer from the team who was responsible for making the switch, has taken the time to write up a blog detailing the tools and process used to make the switch from Subversion to Git.

Stephan says their goal was to “make the switch to a new version control system as smooth as possible for the team, without unnecessarily interrupting our development iterations.” We think he’s done a great job of detailing the steps many of us have, or will be taking as we migrate our existing Subversion repos to Git. Some of the topics he covers are:

  • keeping commit authors the same between SVN to Git
  • using svnsync to incrementally migrate developers and build servers
  • pruning large files
  • mapping tags and branches
If you’re looking to make the switch, check out the blog “Moving Confluence from Subversion to Git”, or share your experience and tips in the comments below.