Git-r-done

A couple months ago we started talking seriously about replacing CVS with a more advanced system for [http://phppgadmin.sourceforge.net/ phpPgAdmin]. We looked around a little, but ended up going with [http://git.or.cz/ Git]. We didn’t have any favorites going in, though we knew [http://lists.freebsd.org/pipermail/freebsd-announce/2008-June/001190.html moving to subversion] was a waste of time, and in the end Git was probably chosen mostly because, of the [http://en.wikipedia.org/wiki/Distributed_revision_control distributed revision control systems] out there, Git is what other projects in our [http://git.postgresql.org/ sphere of influence] seem to be gravitating toward. When you read up on Git, it has a lot of awesome bells and whistles, expecially for CVS based projects. A CVS import tool, support for multiple tags/branches, setup for shared commit repositories (to match the CVS workflow), and even CVS compatible syntax and command line interface. This made Git seem like a slam dunk. Unfortunately, if you’re using 3rd party project hosting services, you quickly find no one wants to set all that up for you. We use Sourceforge now, and they probably should be setting that up since they have all of the pieces already in place, but AFAIK Git isn’t on the radar for them. In the end I gave up on that dream; if you’re going to use git, just use Git and live with it. There are a couple of Git providers out there, we ended up going with [http://www.github.com Github]. Github, like Git itself, looks awesome up front, but has some issues going in. It’s based around the RoR community, which means that using it service involves navigating unreliability and lack of documentation (since everyone should “just know” how things work), but also means you get very nice tools and a subtle influx of happiness into your development environment (adding more happiness should not be overlooked for a project where most people hack on the code in thier spare time). I should note Github offers both free and commercial accounts; right now were using just the free accounts and that’s going well for us. I think some people are turned off by thier commercial side, but I think the ASP business model they have is much better than SourceForge’s open source website and closed source commercial product model, so I’ve no bones about it. We haven’t done a release yet, though we have one on the radar, so we’ll be vetting our release process against Git soon. We also haven’t moved our website and project repos into Git yet either, those aren’t critical for development, so we haven’t felt a pressing need, but eventually that should happen too. I’d be interesting in hearing about other popular PHP projects that have moved to Git (or any DRCS system really), and if people want, I’d be happy to give more details on what we went through so far in the conversion process; I’ll be at [http://en.oreilly.com/oscon2008/public/content/home OSCon] next week, so you can track me down there if you’re going, or drop me an email (who knows it may even inspire additional blog posts). It’s still new and shiny (and confusing), but the more I use it, the more I like it. You can’t ask for more than that.