mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Fix bundle install
unintentionally saving configuration
Even if no explicit flags were passed to it.
0598cbb68c
This commit is contained in:
parent
6b7a0c0ca7
commit
332ecb0ad1
Notes:
git
2020-06-05 07:33:59 +09:00
2 changed files with 15 additions and 8 deletions
|
@ -164,13 +164,11 @@ module Bundler
|
||||||
options[:with] = with
|
options[:with] = with
|
||||||
options[:without] = without
|
options[:without] = without
|
||||||
|
|
||||||
unless Bundler.settings[:without] == options[:without] && Bundler.settings[:with] == options[:with]
|
# need to nil them out first to get around validation for backwards compatibility
|
||||||
# need to nil them out first to get around validation for backwards compatibility
|
Bundler.settings.set_command_option :without, nil
|
||||||
Bundler.settings.set_command_option :without, nil
|
Bundler.settings.set_command_option :with, nil
|
||||||
Bundler.settings.set_command_option :with, nil
|
Bundler.settings.set_command_option :without, options[:without] - options[:with]
|
||||||
Bundler.settings.set_command_option :without, options[:without] - options[:with]
|
Bundler.settings.set_command_option :with, options[:with]
|
||||||
Bundler.settings.set_command_option :with, options[:with]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def normalize_settings
|
def normalize_settings
|
||||||
|
@ -197,7 +195,7 @@ module Bundler
|
||||||
|
|
||||||
Bundler.settings.set_command_option_if_given :clean, options["clean"]
|
Bundler.settings.set_command_option_if_given :clean, options["clean"]
|
||||||
|
|
||||||
normalize_groups
|
normalize_groups if options[:without] || options[:with]
|
||||||
|
|
||||||
options[:force] = options[:redownload]
|
options[:force] = options[:redownload]
|
||||||
end
|
end
|
||||||
|
|
|
@ -90,6 +90,15 @@ RSpec.describe "bundle install with groups" do
|
||||||
expect(the_bundle).to include_gems "rack 1.0.0", :groups => [:default]
|
expect(the_bundle).to include_gems "rack 1.0.0", :groups => [:default]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "respects global `without` configuration, but does not save it locally" do
|
||||||
|
bundle "config without emo"
|
||||||
|
bundle! :install
|
||||||
|
expect(the_bundle).to include_gems "rack 1.0.0", :groups => [:default]
|
||||||
|
bundle "config list"
|
||||||
|
expect(out).not_to include("Set for your local app (#{bundled_app(".bundle/config")}): [:emo]")
|
||||||
|
expect(out).to include("Set for the current user (#{home(".bundle/config")}): [:emo]")
|
||||||
|
end
|
||||||
|
|
||||||
it "does not install gems from the excluded group" do
|
it "does not install gems from the excluded group" do
|
||||||
bundle :install, :without => "emo"
|
bundle :install, :without => "emo"
|
||||||
expect(the_bundle).not_to include_gems "activesupport 2.3.5", :groups => [:default]
|
expect(the_bundle).not_to include_gems "activesupport 2.3.5", :groups => [:default]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue