[Rubygems-developers] Recent refactoring to remove Gem::Version::Requirement breaks with old cached gem files

Chad Woolley thewoolleyman at gmail.com
Fri Oct 23 00:23:14 EDT 2009

On Wed, Oct 21, 2009 at 4:10 PM, Chad Woolley <thewoolleyman at gmail.com> wrote:
> Old cached gems contain marshalled referenced to
> Gem::Version::Requirement in required_ruby_version.  This causes
> breakages when they are unmarshalled with the new trunk code in which
> this class has been removed.

I looked into this some more.  Even if I restore the hack to make
Gem::Version::Requirement exist, the other refactorings to
Gem::Version (e.g. the addition of the segments attribute) will break
when old gems are unmarshalled.

We need to either fully handle backward compatibility with old gems,
or roll back the refactorings to Gem::Version which change the
marshalled format.

More information about the Rubygems-developers mailing list