Subversion has been arguably the most widely used version control system by developers worldwide in the last decade or two. However as with all technologies, the time comes when faster and better solutions present themselves. Enter Git, which despite the strange name has largely become the new standard for version control, taking over from Subversion.

Two members of the team have used Git in previous employment, but simply switching from using Subversion on old projects to using Git on new projects. However it is somewhat more challenging migrating ongoing projects from one to another while keeping the version history of the project intact.

Using open-source tools such as svn2git to convert our repositories proved successful, although converting repositories with over 5000 revisions can take quite some time! Converting Subversion Externals to Git Submodules also proved relatively straightforward, and we now have the added benefit of more granular access control to repositories throughout the team using Gitolite.

The net result of this internal task is that working with version control has become quicker and easier, reducing the time it takes to synchronise and reintegrate new features on projects for our clients. Saving our developers the headache of merge conflicts and saving time for our clients can only be a good thing!