SVN to Git migration


Posted by
Alexandre ALQUIER

March 18, 2013

Git-logo

Why Git ?

Migration is costly in terms of time, money and training, yes many businesses and open source projects are taking plunge. It’s certainly not for pleasure, but because they see that Git can make them more efficient, improve their QA and therefore save time.

But why migrate if Subversion works fine?

Imagine a team whose members do not use any version control tool and carefully write the version numbers of the files manually, being careful not to edit the same file at the same time. They won’t realise how much time they are wasting until they try a version control tool.

Some examples of the Git world

  • The real strength of Git is its flexibility, especially in the management of branches. Git brings some radical improvements in this area. You can commit locally, merge branches, creating new ones, manage forks … it’s all done with great flexibility with Git while SVN requires more thought and work.  Example of a Git branching model.
  • Git has only one .git directory at the root. With SVN, the situation can be costly in time if you forget to delete a directory while handling them.
  • Unlike SVN, Git does not track files, but their content. This allows things that would have been impossible otherwise like knowing if a function has been moved from one file to another.

Take the SVN to Git plunge

The switch from SVN to Git is quite easy to achieve and there are many tools to facilitate this, some are even natively included in Git, such as “git svn” that can keep commits history and authors. Another tool, SubGit lets you use SVN and Git at the same time.

Atlassian tools

  • Stash: Stash makes Git repository administration simple, fast and offers full integration with JIRA (commit <> issue).
  • SourceTree: a pleasant Git GUI client for OSX.
  • Bitbucket: Git hosting like GitHub, but allows one free private repository.

Learn more about Git: http://atlassian.com/git/