Gitorious moves Gem management to Bundler

In two weeks, on March 4th, we will merge a branch into Gitorious master that requires your attention if you’re running Gitorious locally and intend to keep it up to date. This is also a notice to all of you who have installation guides out there (thanks a lot!) to update them once the change is pulled.

The branch moves Gitorious to Bundler for RubyGems management. This means that installing and updating Gitorious will be a lot simpler, and the sandbox provided by Bundler should also make it more reliant as external gems (such as the i18n) should not be able to disturb Gitorious.

Bundler hooks into Gitorious’ bootloader, and so from the moment you pull this change, Gitorious will not run until you’ve installed Bundler and ran it with Gitorious. But don’t worry, it’s really easy:

$ git pull origin master
$ gem install bundler
$ bundle install

Once the Bundler branch is in master, this is in fact the only commands you need to install all of Gitorious’ gem dependencies. If you want to get started right away, you can pull from my clone and do this setup now:

And you should be back up. We’ve run Gitorious with Bundler internally for two weeks with no problems, and we’ll be deploying gitorious.org with it tomorrow.

I’ll also be updating and migrating my install guide to the official Gitorious wiki.

Note that GItorious still bundles a few Ruby gems in vendor/. I made a pass at unvendoring them, but most of them are patched (usually for Ruby 1.9 support), so I dropped it for now. When we move to Rails 3 later this year we will unvendor all of these and use stock versions of the gems through Bundler.

This is only the first step in making Gitorious easier to set up and deploy, ultimately we hope to make Gitorious a quick and brainless deployment. We hope you like it.