I’ve always been pretty hostile to Git and Mercurial like version control systems, and have a particular love to SVN. We’ve however decided today to switch Typo from Subversion to Git, and more precisely on Github. Sources have already migrated on a new repository, and we’re going to close the old one soon.

There are many reasons for this. Some of them are dead obvious, some other are less, but things are now done.

Why choosing Git?

Because Cyril Mougel, my co maintener has been harassing me for months and bribing me with fresh Guiness.

A large majority of Ruby on Rails projects have already migrated from Subversion to Git, following the framework itself. While Typo was sticking to Rails 2.0.2, this didn’t bother us at all. With trunk having switched to Rails 2.2, managing external resources has become impossible. We’re now using both Git submodules for Rails itself, and gem dependencies for other plugins. We’re trying to enlighten our codebase, which has recently been drastically reduced with a double sides axe.

I also wanted to split our officially supported plugins in separate repositories after moving them apart Typo itself. Each plugin now has its own depot, and it’s cleaner this way.

Why Github?

Mostly for marketing and visibility purpose. But also for its great usability and user friendlyness.

We’ll keep using Redmine at Typosphere. The codebase has been cloned locally and will be refreshed every hour to be displayed on the depot part of the site. This is still in progress but will be done very quickly.