summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler/definition.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 7f5a72f0eb..aa21b5eb01 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -1061,6 +1061,11 @@ module Bundler
def converge_overrides_outside_dependencies
@overrides.each do |override|
+ if override.target == :all
+ unlock_all_locked_specs_for_override
+ next
+ end
+
next unless override.target.is_a?(String)
name = override.target
@@ -1076,6 +1081,15 @@ module Bundler
end
end
+ def unlock_all_locked_specs_for_override
+ @originally_locked_specs.each do |locked_spec|
+ name = locked_spec.name
+ next if @changed_dependencies.include?(name)
+ @gems_to_unlock << name
+ @changed_dependencies << name
+ end
+ end
+
# Remove elements from the locked specs that are expired. This will most
# commonly happen if the Gemfile has changed since the lockfile was last
# generated