aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/commands
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-04 00:29:40 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-04 00:29:40 +0000
commite373d99f356779c1823c81603eaee6ed71cf68f5 (patch)
treee15086587f691a1f5bd3c7ddbfa38e825828caf6 /lib/rubygems/commands
parent984ea2cb815c33cfd50eb103a604e1c7462069a2 (diff)
downloadruby-e373d99f356779c1823c81603eaee6ed71cf68f5.tar.gz
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1.
Please see entries of 2.6.0 and 2.6.1 on https://github.com/rubygems/rubygems/blob/master/History.txt [fix GH-1270] Patch by @segiddins git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/commands')
-rw-r--r--lib/rubygems/commands/cleanup_command.rb11
-rw-r--r--lib/rubygems/commands/install_command.rb1
-rw-r--r--lib/rubygems/commands/open_command.rb4
-rw-r--r--lib/rubygems/commands/push_command.rb10
-rw-r--r--lib/rubygems/commands/update_command.rb1
5 files changed, 21 insertions, 6 deletions
diff --git a/lib/rubygems/commands/cleanup_command.rb b/lib/rubygems/commands/cleanup_command.rb
index 46f89f1bb8..83ee6b5c7c 100644
--- a/lib/rubygems/commands/cleanup_command.rb
+++ b/lib/rubygems/commands/cleanup_command.rb
@@ -76,6 +76,9 @@ If no gems are named all gems in GEM_HOME are cleaned.
end
def clean_gems
+ @original_home = Gem.dir
+ @original_path = Gem.path
+
get_primary_gems
get_candidate_gems
get_gems_to_cleanup
@@ -87,9 +90,6 @@ If no gems are named all gems in GEM_HOME are cleaned.
deps = deplist.strongly_connected_components.flatten
- @original_home = Gem.dir
- @original_path = Gem.path
-
deps.reverse_each do |spec|
uninstall_dep spec
end
@@ -108,6 +108,7 @@ If no gems are named all gems in GEM_HOME are cleaned.
end
def get_gems_to_cleanup
+
gems_to_cleanup = @candidate_gems.select { |spec|
@primary_gems[spec.name].version != spec.version
}
@@ -116,6 +117,10 @@ If no gems are named all gems in GEM_HOME are cleaned.
spec.default_gem?
}
+ gems_to_cleanup = gems_to_cleanup.select { |spec|
+ spec.base_dir == @original_home
+ }
+
@default_gems += default_gems
@default_gems.uniq!
@gems_to_cleanup = gems_to_cleanup.uniq
diff --git a/lib/rubygems/commands/install_command.rb b/lib/rubygems/commands/install_command.rb
index 5f0934aa17..4dd2f943c1 100644
--- a/lib/rubygems/commands/install_command.rb
+++ b/lib/rubygems/commands/install_command.rb
@@ -186,6 +186,7 @@ to write the specification by hand. For example:
end
def execute
+
if options.include? :gemdeps then
install_from_gemdeps
return # not reached
diff --git a/lib/rubygems/commands/open_command.rb b/lib/rubygems/commands/open_command.rb
index 957d369b26..a89b7421e3 100644
--- a/lib/rubygems/commands/open_command.rb
+++ b/lib/rubygems/commands/open_command.rb
@@ -15,6 +15,10 @@ class Gem::Commands::OpenCommand < Gem::Command
"Opens gem sources in EDITOR") do |editor, options|
options[:editor] = editor || get_env_editor
end
+ add_option('-v', '--version VERSION', String,
+ "Opens specific gem version") do |version|
+ options[:version] = version
+ end
end
def arguments # :nodoc:
diff --git a/lib/rubygems/commands/push_command.rb b/lib/rubygems/commands/push_command.rb
index 035a03e5e7..6adeff6b30 100644
--- a/lib/rubygems/commands/push_command.rb
+++ b/lib/rubygems/commands/push_command.rb
@@ -76,13 +76,17 @@ You can upgrade or downgrade to the latest release version with:
@host = gem_data.spec.metadata['default_gem_server']
end
- # Always include this, even if it's nil
- args << @host
+ push_host = nil
if gem_data.spec.metadata.has_key?('allowed_push_host')
- args << gem_data.spec.metadata['allowed_push_host']
+ push_host = gem_data.spec.metadata['allowed_push_host']
end
+ @host ||= push_host
+
+ # Always include @host, even if it's nil
+ args += [ @host, push_host ]
+
say "Pushing gem to #{@host || Gem.host}..."
response = rubygems_api_request(*args) do |request|
diff --git a/lib/rubygems/commands/update_command.rb b/lib/rubygems/commands/update_command.rb
index d654a5fa4e..688e9b0e6c 100644
--- a/lib/rubygems/commands/update_command.rb
+++ b/lib/rubygems/commands/update_command.rb
@@ -85,6 +85,7 @@ command to remove old versions.
end
def execute
+
if options[:system] then
update_rubygems
return