Git

Feb 06, 2011 12:02


Never let get actual game development get in the way of fiddling about with new tools
This last month has been no exception and seen me swap from SVN for handling source control to git. SVN has been pretty good over the years but I’ve always had a few niggles with it, the main two being the trickiness of branching and the lack of an ability to work nicely offline.

The transition has been fairly painless. There are a few fundamental differences between a distributed SCM and the more traditional client / server model like Subversion and getting over my preconceptions was probably the biggest step. Scott Chacon, both through his excellent Pro Git Book and the below screencast, was an enormous help in making the change.



Overall after just under a month of doing things the Git way I’m pretty happy. I’ve used branching a lot more than usual and during some recent outages to the server I’m set up to push changes too I’ve still be able work with no troubles.

And it’s pretty quick too. Mostly I’m checking into my local repository on whatever machine I’m working on and that’s super nippy. Once a day or so I’ll push changes back to a central server and that’s been about the same speed as SVN used to be. And despite git’s reputation as being awkward and hard core I’ve found the command line to be a lot clearer than SVN in terms of its feedback when I try to do something dumb and self harming

What I haven’t found is a nice GUI front end for git. SVN is pretty well supported on the Mac with apps like the fantastic Versions or the Finder integrated Tortoise. There’s a few (Tower is probably one of the better examples) and XCode4′s git integration is pretty good but they still fall short of the more mature tools for SVN. That said I’m pretty comfortable with the CLI

Though this is working really well for me right now I am not 100% sure it’d be suitable for the type of development we do at Ruffian. Right now we use Perforce for both source code and art assets and it does a really good job. Git’s weakness is it’s not great for lots of binary assets with a long history of changes. Like other distributed SCMs git places a entire copy of the repository (all current files and previous revisions) on your drive. I think for Crackdown2 that was around 500gb of data. You could probably use a separate solution for binary assets and keep just source code in git which would make the repository size a bit more practical and there are a few game devs I know that are doing this. That all said I know our guys are pretty happy with Perforce so I can’t see us changing.

But right now for the noddy home game I am currently making git is more than good enough and a definite step up from SVN.

Mirrored from Gamedev.
Previous post Next post
Up