…ot compatible with Encoding.default_internal The :encoding option only specifies the external encoding. If Encoding.default_internal is set, it will automatically convert it to the internal encoding. If it cannot be converted (e.g. internal encoding is US-ASCII and specification file contains 8-bit characters), an error is raised. Instead, the :mode option should be given specifying that the file should be left in its external encoding without converting it to the default internal encoding. This allows you to load gem specification files with 8-bit characters and a default internal encoding of US-ASCII. Patch from jeremyevans/rubygems@930aaf4 Signed-off-by: Loren Segal <firstname.lastname@example.org>
This patch avoids processing specs of newer gems if the dependency was already met by an earlier version of that gem. This avoids including extra dependencies introduced by the newer gem. For instance, if gem A depends on B >= 1 and B-1 is installed but B-2 was released, installing A should not check B-2's dependencies (since it might depend on Z-1 or some other gem). Instead, accept B-1 as the matched dependency and move on. Closes #12
Let's say that gem P depends on gem Q >= 1.0. Gem Q 1.0 is installed, but Q 2.0 has been released and depends on another gem, R. Installing P will (correctly) result in Q 2.0 not being installed, since Q 1.0 meets the requirement. But Q 2.0's dependencies are erroneously considered, and we get an unnecessary installation of R. This fixes that bug so that if Q is already installed, the dependencies of its latest version are not considered.
Closes #10 (related to rubygems/#165) Signed-off-by: Loren Segal <email@example.com>
…lugins in gem_runner tests