Rails Vendor Branch Limbo
I’m upgrading a project from Rails 2.0.2 to Rails 2.1.
This thing uses Comatose 0.8.1. Unfortunately, Comatose 0.8.1 isn’t compatible with Rails 2.1. Fine, I’ll just upgrade to Comatose 2.0 (uber-alpha) and that’ll work. Oops, Comatose 2.0 uber-alpha breaks Rails migrations. Fixing that breakage requires a patch to Rails itself.
Oh and did I mention that this project of mine also requires a patch to Comatose proper (adds before_filters to the Comatose configuration object).
So I need a patched version of Comatose and a patched version of Rails. “OK” you say, just use Piston to manage those vendor branches. Not so fast. Piston only works with Subversion and the Rails project is no longer hosted on a Subversion repository. The old repository was deprecated after Rails 2.0.2. Rails is now hosted on Github. Oh and so is Comatose.
Never fear, Github support for Piston is coming Real Soon Now™. Until then I’m stuck in limbo. I suppose I’ll do the manual vendor branch thing—essentially manage my own private Subversion repositories for Rails and Comatose.
The fact that François Beausoleil is implementing Piston support for all-Git projects leads me to believe that there is no convenient alternative (to Piston) for vendor branches in Git. Hum, that’s hard to believe. Anyhow, I can’t migrate this project to Git yet so all-Git alternatives are sort of moot.