bundler 2.2.18 → 2.2.23
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bundler might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +66 -0
- data/bundler.gemspec +1 -1
- data/lib/bundler.rb +5 -6
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/check.rb +4 -2
- data/lib/bundler/cli/doctor.rb +11 -1
- data/lib/bundler/cli/install.rb +7 -8
- data/lib/bundler/cli/lock.rb +5 -1
- data/lib/bundler/cli/outdated.rb +2 -0
- data/lib/bundler/cli/update.rb +8 -3
- data/lib/bundler/current_ruby.rb +4 -4
- data/lib/bundler/definition.rb +27 -55
- data/lib/bundler/dsl.rb +19 -31
- data/lib/bundler/feature_flag.rb +0 -2
- data/lib/bundler/fetcher/compact_index.rb +1 -1
- data/lib/bundler/fetcher/downloader.rb +1 -2
- data/lib/bundler/fetcher/index.rb +0 -1
- data/lib/bundler/friendly_errors.rb +1 -3
- data/lib/bundler/index.rb +1 -5
- data/lib/bundler/installer.rb +5 -12
- data/lib/bundler/lockfile_parser.rb +2 -20
- data/lib/bundler/man/bundle-add.1 +1 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +1 -1
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +1 -4
- data/lib/bundler/man/bundle-config.1.ronn +0 -3
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -1
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +4 -4
- data/lib/bundler/man/bundle-update.1.ronn +3 -3
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/plugin/installer.rb +1 -1
- data/lib/bundler/resolver.rb +3 -1
- data/lib/bundler/rubygems_ext.rb +22 -6
- data/lib/bundler/rubygems_integration.rb +4 -3
- data/lib/bundler/settings.rb +23 -9
- data/lib/bundler/source.rb +2 -0
- data/lib/bundler/source/rubygems.rb +10 -21
- data/lib/bundler/source_list.rb +44 -21
- data/lib/bundler/spec_set.rb +3 -7
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/version.rb +1 -1
- metadata +4 -7
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "June 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "June 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "BUNDLE\-UPDATE" "1" "
|
4
|
+
.TH "BUNDLE\-UPDATE" "1" "June 2021" "" ""
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
@@ -79,7 +79,7 @@ Do not allow any gem to be updated past latest \fB\-\-patch\fR | \fB\-\-minor\fR
|
|
79
79
|
.
|
80
80
|
.TP
|
81
81
|
\fB\-\-conservative\fR
|
82
|
-
Use bundle install conservative update behavior and do not allow
|
82
|
+
Use bundle install conservative update behavior and do not allow indirect dependencies to be updated\.
|
83
83
|
.
|
84
84
|
.SH "UPDATING ALL GEMS"
|
85
85
|
If you run \fBbundle update \-\-all\fR, bundler will ignore any previously installed gems and resolve all dependencies again based on the latest versions of all gems available in the sources\.
|
@@ -208,13 +208,13 @@ In this case, the two gems have their own set of dependencies, but they share \f
|
|
208
208
|
In short, by default, when you update a gem using \fBbundle update\fR, bundler will update all dependencies of that gem, including those that are also dependencies of another gem\.
|
209
209
|
.
|
210
210
|
.P
|
211
|
-
To prevent updating
|
211
|
+
To prevent updating indirect dependencies, prior to version 1\.14 the only option was the \fBCONSERVATIVE UPDATING\fR behavior in bundle install(1) \fIbundle\-install\.1\.html\fR:
|
212
212
|
.
|
213
213
|
.P
|
214
214
|
In this scenario, updating the \fBthin\fR version manually in the Gemfile(5), and then running bundle install(1) \fIbundle\-install\.1\.html\fR will only update \fBdaemons\fR and \fBeventmachine\fR, but not \fBrack\fR\. For more information, see the \fBCONSERVATIVE UPDATING\fR section of bundle install(1) \fIbundle\-install\.1\.html\fR\.
|
215
215
|
.
|
216
216
|
.P
|
217
|
-
Starting with 1\.14, specifying the \fB\-\-conservative\fR option will also prevent
|
217
|
+
Starting with 1\.14, specifying the \fB\-\-conservative\fR option will also prevent indirect dependencies from being updated\.
|
218
218
|
.
|
219
219
|
.SH "PATCH LEVEL OPTIONS"
|
220
220
|
Version 1\.14 introduced 4 patch\-level options that will influence how gem versions are resolved\. One of the following options can be used: \fB\-\-patch\fR, \fB\-\-minor\fR or \fB\-\-major\fR\. \fB\-\-strict\fR can be added to further influence resolution\.
|
@@ -80,7 +80,7 @@ gem.
|
|
80
80
|
Do not allow any gem to be updated past latest `--patch` | `--minor` | `--major`.
|
81
81
|
|
82
82
|
* `--conservative`:
|
83
|
-
Use bundle install conservative update behavior and do not allow
|
83
|
+
Use bundle install conservative update behavior and do not allow indirect dependencies to be updated.
|
84
84
|
|
85
85
|
## UPDATING ALL GEMS
|
86
86
|
|
@@ -195,7 +195,7 @@ In short, by default, when you update a gem using `bundle update`, bundler will
|
|
195
195
|
update all dependencies of that gem, including those that are also dependencies
|
196
196
|
of another gem.
|
197
197
|
|
198
|
-
To prevent updating
|
198
|
+
To prevent updating indirect dependencies, prior to version 1.14 the only option
|
199
199
|
was the `CONSERVATIVE UPDATING` behavior in [bundle install(1)](bundle-install.1.html):
|
200
200
|
|
201
201
|
In this scenario, updating the `thin` version manually in the Gemfile(5),
|
@@ -203,7 +203,7 @@ and then running [bundle install(1)](bundle-install.1.html) will only update `da
|
|
203
203
|
but not `rack`. For more information, see the `CONSERVATIVE UPDATING` section
|
204
204
|
of [bundle install(1)](bundle-install.1.html).
|
205
205
|
|
206
|
-
Starting with 1.14, specifying the `--conservative` option will also prevent
|
206
|
+
Starting with 1.14, specifying the `--conservative` option will also prevent indirect
|
207
207
|
dependencies from being updated.
|
208
208
|
|
209
209
|
## PATCH LEVEL OPTIONS
|
data/lib/bundler/man/bundle.1
CHANGED
data/lib/bundler/man/gemfile.5
CHANGED
@@ -77,7 +77,7 @@ module Bundler
|
|
77
77
|
source_list = SourceList.new
|
78
78
|
|
79
79
|
source_list.add_git_source(git_source_options) if git_source_options
|
80
|
-
source_list.
|
80
|
+
Array(rubygems_source).each {|remote| source_list.add_global_rubygems_remote(remote) } if rubygems_source
|
81
81
|
|
82
82
|
deps = names.map {|name| Dependency.new name, version }
|
83
83
|
|
data/lib/bundler/resolver.rb
CHANGED
@@ -21,7 +21,7 @@ module Bundler
|
|
21
21
|
base = SpecSet.new(base) unless base.is_a?(SpecSet)
|
22
22
|
resolver = new(source_requirements, base, gem_version_promoter, additional_base_requirements, platforms)
|
23
23
|
result = resolver.start(requirements)
|
24
|
-
SpecSet.new(result).for(requirements.reject{|dep| dep.name.end_with?("\0") })
|
24
|
+
SpecSet.new(SpecSet.new(result).for(requirements.reject{|dep| dep.name.end_with?("\0") }))
|
25
25
|
end
|
26
26
|
|
27
27
|
def initialize(source_requirements, base, gem_version_promoter, additional_base_requirements, platforms)
|
@@ -30,8 +30,10 @@ module Bundler
|
|
30
30
|
@resolver = Molinillo::Resolver.new(self, self)
|
31
31
|
@search_for = {}
|
32
32
|
@base_dg = Molinillo::DependencyGraph.new
|
33
|
+
aggregate_global_source = @source_requirements[:default].is_a?(Source::RubygemsAggregate)
|
33
34
|
@base.each do |ls|
|
34
35
|
dep = Dependency.new(ls.name, ls.version)
|
36
|
+
ls.source = source_for(ls.name) unless aggregate_global_source
|
35
37
|
@base_dg.add_vertex(ls.name, DepProxy.get_proxy(dep, ls.platform), true)
|
36
38
|
end
|
37
39
|
additional_base_requirements.each {|d| @base_dg.add_vertex(d.name, d) }
|
data/lib/bundler/rubygems_ext.rb
CHANGED
@@ -174,20 +174,36 @@ module Gem
|
|
174
174
|
end
|
175
175
|
end
|
176
176
|
|
177
|
+
require "rubygems/platform"
|
178
|
+
|
177
179
|
class Platform
|
178
180
|
JAVA = Gem::Platform.new("java") unless defined?(JAVA)
|
179
181
|
MSWIN = Gem::Platform.new("mswin32") unless defined?(MSWIN)
|
180
182
|
MSWIN64 = Gem::Platform.new("mswin64") unless defined?(MSWIN64)
|
181
183
|
MINGW = Gem::Platform.new("x86-mingw32") unless defined?(MINGW)
|
182
184
|
X64_MINGW = Gem::Platform.new("x64-mingw32") unless defined?(X64_MINGW)
|
185
|
+
end
|
183
186
|
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
187
|
+
Platform.singleton_class.module_eval do
|
188
|
+
unless Platform.singleton_methods.include?(:match_spec?)
|
189
|
+
def match_spec?(spec)
|
190
|
+
match_gem?(spec.platform, spec.name)
|
191
|
+
end
|
188
192
|
|
189
|
-
|
190
|
-
|
193
|
+
def match_gem?(platform, gem_name)
|
194
|
+
match_platforms?(platform, Gem.platforms)
|
195
|
+
end
|
196
|
+
|
197
|
+
private
|
198
|
+
|
199
|
+
def match_platforms?(platform, platforms)
|
200
|
+
platforms.any? do |local_platform|
|
201
|
+
platform.nil? ||
|
202
|
+
local_platform == platform ||
|
203
|
+
(local_platform != Gem::Platform::RUBY && local_platform =~ platform)
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
191
207
|
end
|
192
208
|
|
193
209
|
require "rubygems/util"
|
@@ -526,13 +526,14 @@ module Bundler
|
|
526
526
|
Bundler::Retry.new("download gem from #{uri}").attempts do
|
527
527
|
fetcher.download(spec, uri, path)
|
528
528
|
end
|
529
|
+
rescue Gem::RemoteFetcher::FetchError => e
|
530
|
+
raise Bundler::HTTPError, "Could not download gem from #{uri} due to underlying error <#{e.message}>"
|
529
531
|
end
|
530
532
|
|
531
533
|
def gem_remote_fetcher
|
532
|
-
require "
|
534
|
+
require "rubygems/remote_fetcher"
|
533
535
|
proxy = configuration[:http_proxy]
|
534
|
-
|
535
|
-
Gem::RemoteFetcher.new(proxy, dns)
|
536
|
+
Gem::RemoteFetcher.new(proxy)
|
536
537
|
end
|
537
538
|
|
538
539
|
def gem_from_path(path, policy = nil)
|
data/lib/bundler/settings.rb
CHANGED
@@ -16,7 +16,6 @@ module Bundler
|
|
16
16
|
clean
|
17
17
|
default_install_uses_path
|
18
18
|
deployment
|
19
|
-
deployment_means_frozen
|
20
19
|
disable_checksum_validation
|
21
20
|
disable_exec_load
|
22
21
|
disable_local_branch_check
|
@@ -45,7 +44,6 @@ module Bundler
|
|
45
44
|
silence_deprecations
|
46
45
|
silence_root_warning
|
47
46
|
suppress_install_using_messages
|
48
|
-
unlock_source_unlocks_spec
|
49
47
|
update_requires_all_flag
|
50
48
|
use_gem_version_promoter_for_major_updates
|
51
49
|
].freeze
|
@@ -210,6 +208,13 @@ module Bundler
|
|
210
208
|
locations
|
211
209
|
end
|
212
210
|
|
211
|
+
def processor_count
|
212
|
+
require "etc"
|
213
|
+
Etc.nprocessors
|
214
|
+
rescue StandardError
|
215
|
+
1
|
216
|
+
end
|
217
|
+
|
213
218
|
# for legacy reasons, in Bundler 2, we do not respect :disable_shared_gems
|
214
219
|
def path
|
215
220
|
configs.each do |_level, settings|
|
@@ -423,12 +428,8 @@ module Bundler
|
|
423
428
|
def global_config_file
|
424
429
|
if ENV["BUNDLE_CONFIG"] && !ENV["BUNDLE_CONFIG"].empty?
|
425
430
|
Pathname.new(ENV["BUNDLE_CONFIG"])
|
426
|
-
|
427
|
-
|
428
|
-
Bundler.user_bundle_path("config")
|
429
|
-
rescue PermissionError, GenericSystemCallError
|
430
|
-
nil
|
431
|
-
end
|
431
|
+
elsif Bundler.rubygems.user_home && !Bundler.rubygems.user_home.empty?
|
432
|
+
Pathname.new(Bundler.rubygems.user_home).join(".bundle/config")
|
432
433
|
end
|
433
434
|
end
|
434
435
|
|
@@ -442,7 +443,20 @@ module Bundler
|
|
442
443
|
valid_file = file.exist? && !file.size.zero?
|
443
444
|
return {} unless valid_file
|
444
445
|
require_relative "yaml_serializer"
|
445
|
-
YAMLSerializer.load
|
446
|
+
YAMLSerializer.load(file.read).inject({}) do |config, (k, v)|
|
447
|
+
new_k = k
|
448
|
+
|
449
|
+
if k.include?("-")
|
450
|
+
Bundler.ui.warn "Your #{file} config includes `#{k}`, which contains the dash character (`-`).\n" \
|
451
|
+
"This is deprecated, because configuration through `ENV` should be possible, but `ENV` keys cannot include dashes.\n" \
|
452
|
+
"Please edit #{file} and replace any dashes in configuration keys with a triple underscore (`___`)."
|
453
|
+
|
454
|
+
new_k = k.gsub("-", "___")
|
455
|
+
end
|
456
|
+
|
457
|
+
config[new_k] = v
|
458
|
+
config
|
459
|
+
end
|
446
460
|
end
|
447
461
|
end
|
448
462
|
|
data/lib/bundler/source.rb
CHANGED
@@ -26,6 +26,12 @@ module Bundler
|
|
26
26
|
Array(options["remotes"]).reverse_each {|r| add_remote(r) }
|
27
27
|
end
|
28
28
|
|
29
|
+
def local_only!
|
30
|
+
@specs = nil
|
31
|
+
@allow_local = true
|
32
|
+
@allow_remote = false
|
33
|
+
end
|
34
|
+
|
29
35
|
def local!
|
30
36
|
return if @allow_local
|
31
37
|
|
@@ -61,13 +67,13 @@ module Bundler
|
|
61
67
|
o.is_a?(Rubygems) && (o.credless_remotes - credless_remotes).empty?
|
62
68
|
end
|
63
69
|
|
64
|
-
def
|
65
|
-
@remotes.size
|
70
|
+
def multiple_remotes?
|
71
|
+
@remotes.size > 1
|
66
72
|
end
|
67
73
|
|
68
74
|
def can_lock?(spec)
|
69
|
-
return super
|
70
|
-
spec.source
|
75
|
+
return super unless multiple_remotes?
|
76
|
+
include?(spec.source)
|
71
77
|
end
|
72
78
|
|
73
79
|
def options
|
@@ -246,19 +252,6 @@ module Bundler
|
|
246
252
|
other_remotes.map(&method(:remove_auth)) == @remotes.map(&method(:remove_auth))
|
247
253
|
end
|
248
254
|
|
249
|
-
def replace_remotes(other_remotes, allow_equivalent = false)
|
250
|
-
return false if other_remotes == @remotes
|
251
|
-
|
252
|
-
equivalent = allow_equivalent && equivalent_remotes?(other_remotes)
|
253
|
-
|
254
|
-
@remotes = []
|
255
|
-
other_remotes.reverse_each do |r|
|
256
|
-
add_remote r.to_s
|
257
|
-
end
|
258
|
-
|
259
|
-
!equivalent
|
260
|
-
end
|
261
|
-
|
262
255
|
def spec_names
|
263
256
|
if @allow_remote && dependency_api_available?
|
264
257
|
remote_specs.spec_names
|
@@ -398,10 +391,6 @@ module Bundler
|
|
398
391
|
next if gemfile =~ /^bundler\-[\d\.]+?\.gem/
|
399
392
|
s ||= Bundler.rubygems.spec_from_gem(gemfile)
|
400
393
|
s.source = self
|
401
|
-
if Bundler.rubygems.spec_missing_extensions?(s, false)
|
402
|
-
Bundler.ui.debug "Source #{self} is ignoring #{s} because it is missing extensions"
|
403
|
-
next
|
404
|
-
end
|
405
394
|
idx << s
|
406
395
|
end
|
407
396
|
|
data/lib/bundler/source_list.rb
CHANGED
@@ -28,12 +28,13 @@ module Bundler
|
|
28
28
|
@merged_gem_lockfile_sections
|
29
29
|
end
|
30
30
|
|
31
|
-
def merged_gem_lockfile_sections!
|
31
|
+
def merged_gem_lockfile_sections!(replacement_source)
|
32
32
|
@merged_gem_lockfile_sections = true
|
33
|
+
@global_rubygems_source = replacement_source
|
33
34
|
end
|
34
35
|
|
35
|
-
def
|
36
|
-
global_rubygems_source.
|
36
|
+
def aggregate_global_source?
|
37
|
+
global_rubygems_source.multiple_remotes?
|
37
38
|
end
|
38
39
|
|
39
40
|
def add_path_source(options = {})
|
@@ -53,18 +54,17 @@ module Bundler
|
|
53
54
|
end
|
54
55
|
|
55
56
|
def add_rubygems_source(options = {})
|
56
|
-
|
57
|
+
new_source = Source::Rubygems.new(options)
|
58
|
+
return @global_rubygems_source if @global_rubygems_source == new_source
|
59
|
+
|
60
|
+
add_source_to_list new_source, @rubygems_sources
|
57
61
|
end
|
58
62
|
|
59
63
|
def add_plugin_source(source, options = {})
|
60
64
|
add_source_to_list Plugin.source(source).new(options), @plugin_sources
|
61
65
|
end
|
62
66
|
|
63
|
-
def
|
64
|
-
@global_rubygems_source ||= rubygems_aggregate_class.new("remotes" => uri, "allow_local" => true)
|
65
|
-
end
|
66
|
-
|
67
|
-
def add_rubygems_remote(uri)
|
67
|
+
def add_global_rubygems_remote(uri)
|
68
68
|
global_rubygems_source.add_remote(uri)
|
69
69
|
global_rubygems_source
|
70
70
|
end
|
@@ -109,27 +109,30 @@ module Bundler
|
|
109
109
|
if merged_gem_lockfile_sections?
|
110
110
|
[combine_rubygems_sources]
|
111
111
|
else
|
112
|
-
rubygems_sources.sort_by(&:to_s)
|
112
|
+
rubygems_sources.sort_by(&:to_s)
|
113
113
|
end
|
114
114
|
end
|
115
115
|
|
116
116
|
# Returns true if there are changes
|
117
117
|
def replace_sources!(replacement_sources)
|
118
|
-
return
|
118
|
+
return false if replacement_sources.empty?
|
119
119
|
|
120
|
-
|
121
|
-
source_list.map! do |source|
|
122
|
-
replacement_sources.find {|s| s == source } || source
|
123
|
-
end
|
124
|
-
end
|
120
|
+
@path_sources, @git_sources, @plugin_sources = map_sources(replacement_sources)
|
125
121
|
|
126
|
-
|
127
|
-
|
128
|
-
|
122
|
+
different_sources?(lock_sources, replacement_sources)
|
123
|
+
end
|
124
|
+
|
125
|
+
# Returns true if there are changes
|
126
|
+
def expired_sources?(replacement_sources)
|
127
|
+
return false if replacement_sources.empty?
|
129
128
|
|
130
|
-
|
129
|
+
lock_sources = dup_with_replaced_sources(replacement_sources).lock_sources
|
130
|
+
|
131
|
+
different_sources?(lock_sources, replacement_sources)
|
132
|
+
end
|
131
133
|
|
132
|
-
|
134
|
+
def local_only!
|
135
|
+
all_sources.each(&:local_only!)
|
133
136
|
end
|
134
137
|
|
135
138
|
def cached!
|
@@ -142,6 +145,24 @@ module Bundler
|
|
142
145
|
|
143
146
|
private
|
144
147
|
|
148
|
+
def dup_with_replaced_sources(replacement_sources)
|
149
|
+
new_source_list = dup
|
150
|
+
new_source_list.replace_sources!(replacement_sources)
|
151
|
+
new_source_list
|
152
|
+
end
|
153
|
+
|
154
|
+
def map_sources(replacement_sources)
|
155
|
+
[path_sources, git_sources, plugin_sources].map do |sources|
|
156
|
+
sources.map do |source|
|
157
|
+
replacement_sources.find {|s| s == source } || source
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
def different_sources?(lock_sources, replacement_sources)
|
163
|
+
!equal_sources?(lock_sources, replacement_sources) && !equivalent_sources?(lock_sources, replacement_sources)
|
164
|
+
end
|
165
|
+
|
145
166
|
def rubygems_aggregate_class
|
146
167
|
Source::Rubygems
|
147
168
|
end
|
@@ -181,6 +202,8 @@ module Bundler
|
|
181
202
|
end
|
182
203
|
|
183
204
|
def equal_source?(source, other_source)
|
205
|
+
return source.include?(other_source) if source.is_a?(Source::Rubygems) && other_source.is_a?(Source::Rubygems) && !merged_gem_lockfile_sections?
|
206
|
+
|
184
207
|
source == other_source
|
185
208
|
end
|
186
209
|
|