Git with the program
Git's entry into commercial software development started at companies where there wasn't a whole lot of enforcement around source control. Here in Silicon Valley, we see standardized policies for code management as something that's only for losers who waste time creating things like business plans. For example, Facebook allows developers to use whatever system they are comfortable with.
“We do have a bunch of folks using git, and it’s completely sanctioned,” says Aditya Agarwal, Director of Engineering (...bitch) at the social networking company. "The general viewpoint is that [Subversion] is easier for beginners, but git has a more powerful toolset (but has a much steeper learning curve)."
At other shops, git isn't so sanctioned. Many software development companies have a central repository for all their code, and it's usually something like Subversion. All developers must commit and checkout from this single Subversion repository. The developers of git, recognizing this pain point, created a tool called git-svn, which allows you to maintain a local git repository but synchronize it with a remote Subversion repository.
You can use git to manage all the source code on your machine, and to keep the PHBs happy, commit your finished product to Subversion without actually using Subversion. This "guerrilla git' movement is springing up around the world, as developers see the productivity boost they can gain, but don't want to undo it with a productivity loss in convincing the company to officially switch to git.
Some shops are making the move, though. "In 2008, we saw a lot of companies making the switch. We expect all of the 2009 switchers to dwarf that number," says Tom Preston-Werner, co-founder of GitHub, a profitable company that provides commercial git hosting and training. “We've done training for the Android team at Google, for WhitePages.com in Seattle, and we're about to do a session at Qualcomm.”
Preston-Werner explains that, “Moving years and years of SVN or CVS commits to a git repository is tricky, but we're helping to make that transition simple, and a lot of companies are showing a keen interest in our expertise.” So while there may be an initial cost incurred by switching to git, it appears as if the benefits of it far outweigh it.
So, if you're a developer and you haven't seen git before, there's a good possibility that you'll get a first hand demonstration when it starts to invade your company. If you like it, chances are it will help you get more work done in less time. You can use that spare time to start a company that makes a living out of helping other companies switch to git.
The way we hear it, that will be a pretty good business. ®
Ted Dziuba is a co-founder at Milo.com You can read his regular Reg column, Fail and You, every other Monday.