My Brain on Code

Git-Svn and You

My work uses Subversion and I wish they wouldn’t. It’s not that I don’t like Subversion, I just feel there are better alternatives. Subversion just feels slow and clunky. We do all of our coding in trunk and very rarely create branches. This doesn’t meet my style of coding. I’m a big fan of creating feature/bug fix branches. With Subversion it’s certainly possible, but pretty painful. Since there’s a central server that houses everything, I can’t just create a branch for my own sake on my local machine. This is why I prefer DVCS.

For my personal projects I tend to use git. It’s fast, its use is growing and there are plenty of articles devoted to telling you how to use it properly. Creating those branches is a cinch and working with them is better for my productivity. However, I can’t do this at work and I generally get interrupted in the middle of a feature to do a quick bug fix or even work on a completely different feature. This leaves a mess of modified files that I have to figure out which should be committed or left alone.

Those days of working in trunk are over. I have recently discovered git-svn which allows me to use git along with Subversion (Hooray!). So far I’ve been using it for a week and it is awesome. It’s taken a little bit to get used to, but it was well worth it.

If your team is stuck on Subversion and you feel the need to use git, git-svn may be just for you.