A case for git-svn (Git + Subversion)

Why git-svn?

1. Our central repository is Subversion and that’s not changing. Otherwise, I’d be using Git without Subversion.

2. I wanted to have a way to do local commits that aren’t quite ready for the central repository. This gives me a way to track my small changes by setting checkpoints (local commits) without breaking the build on our CI server.

3. The majority of ThoughtWorkers say Git is Best in Class.

4. Joel Spolsky is sold on Distributed Version Control:

This is too important to miss out on. This is possibly the biggest advance in software development technology in the ten years I’ve been writing articles here. Or, to put it another way, I’d go back to C++ before I gave up on Mercurial.

5. Even without an internet connection, I can work and commit locally as well as view the entire Subversion log.

If you’re stuck using Subversion as a central repository, you should check out git-svn.

Further reading

git-svn – Bidirectional operation between a Subversion repository and git

git svn status – showing changes that are not committed to svn