Skip to content
qrush edited this page Aug 7, 2010 · 26 revisions

We’re in the process of trying to figure out how to deal with forked or ‘namespaced’ gems. Feel free to add in your opinions here, just sign it (My opinion is ridiculous —qrush or something)

Some more links/research on this:

Options

Gem Name: The current way with GitHub Gems. Basically, tack on the ‘namespace’ onto the gem name but leave everything else as is.
Namespace: Modify the gemspec to contain a ‘namespace’ field.
Source: Allow users to register a subdomain of gemcutter.org and push forked install gems to that. The root domain remains the trusted/real repository.
Version: Shove the ‘namespace’ into Gem::Version, so something like gem 'jekyll', 'qrush-1.0.0'

The Lineup

Evaluating some pros/cons of each solution.

Options Gem Name Namespace Source Version
Pros
Doesn’t change workflow for the primary use case X X
Ability for gems to specify forks as dependencies X X X X
Cons
Requires modifying Rubygems X X X
Cumbersome installation of forks X
Clone this wiki locally