summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHomu <homu@barosl.com>2016-06-23 03:10:26 +0900
committerHomu <homu@barosl.com>2016-06-23 03:10:26 +0900
commit78d614413a994b5acd3dccd82b0782290d0d850d (patch)
treea51a466ec13a16d5ca3bcb67505dc06296cad4b7
parent958d78f9caceb9aeb152bd0c52b1df2ed86eefc5 (diff)
parent0994045367442349c8d62448182d8de685a401cc (diff)
downloadbundler-78d614413a994b5acd3dccd82b0782290d0d850d.tar.gz
Auto merge of #4700 - bundler:seg-lockfile-frozen-string-old-rg, r=segiddins
[LockfileParser] Support for old RG on Ruby 2.3+ Fixes #4698 \c @allenzhao
-rw-r--r--lib/bundler/lockfile_parser.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bundler/lockfile_parser.rb b/lib/bundler/lockfile_parser.rb
index e0c6dd1c38..a57dbcac1c 100644
--- a/lib/bundler/lockfile_parser.rb
+++ b/lib/bundler/lockfile_parser.rb
@@ -27,9 +27,11 @@ module Bundler
SOURCE = [GIT, GEM, PATH].freeze
SECTIONS_BY_VERSION_INTRODUCED = {
- Gem::Version.create("1.0") => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
- Gem::Version.create("1.10") => [BUNDLED].freeze,
- Gem::Version.create("1.12") => [RUBY].freeze,
+ # The strings have to be dup'ed for old RG on Ruby 2.3+
+ # TODO: remove dup in Bundler 2.0
+ Gem::Version.create("1.0".dup) => [DEPENDENCIES, PLATFORMS, GIT, GEM, PATH].freeze,
+ Gem::Version.create("1.10".dup) => [BUNDLED].freeze,
+ Gem::Version.create("1.12".dup) => [RUBY].freeze,
}.freeze
KNOWN_SECTIONS = SECTIONS_BY_VERSION_INTRODUCED.values.flatten.freeze
@@ -46,7 +48,7 @@ module Bundler
def self.sections_to_ignore(base_version = nil)
base_version &&= base_version.release
- base_version ||= Gem::Version.create("1.0")
+ base_version ||= Gem::Version.create("1.0".dup)
attributes = []
SECTIONS_BY_VERSION_INTRODUCED.each do |version, introduced|
next if version <= base_version