From 73fc703f7cbb2e6dfd50897d26b37fe8e76064e3 Mon Sep 17 00:00:00 2001 From: drbrain Date: Sat, 30 Nov 2013 23:27:52 +0000 Subject: * lib/rubygems: Update to RubyGems master 66e5c39. Notable changes: Implement gem.deps.rb (Gemfile) .lock support Fixed `gem uninstall` for a relative directory in GEM_HOME. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/resolver/git_set.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/rubygems/resolver/git_set.rb') diff --git a/lib/rubygems/resolver/git_set.rb b/lib/rubygems/resolver/git_set.rb index c912e367d9..ed809c124f 100644 --- a/lib/rubygems/resolver/git_set.rb +++ b/lib/rubygems/resolver/git_set.rb @@ -10,6 +10,12 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set + ## + # The root directory for git gems in this set. This is usually Gem.dir, the + # installation directory for regular gems. + + attr_accessor :root_dir + ## # Contains repositories needing submodules @@ -30,6 +36,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set @git = ENV['git'] || 'git' @need_submodules = {} @repositories = {} + @root_dir = Gem.dir @specs = {} end @@ -57,6 +64,7 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set @repositories.each do |name, (repository, reference)| source = Gem::Source::Git.new name, repository, reference + source.root_dir = @root_dir source.specs.each do |spec| git_spec = Gem::Resolver::GitSpecification.new self, spec, source @@ -66,5 +74,20 @@ class Gem::Resolver::GitSet < Gem::Resolver::Set end end + def pretty_print q # :nodoc: + q.group 2, '[GitSet', ']' do + next if @repositories.empty? + q.breakable + + repos = @repositories.map do |name, (repository, reference)| + "#{name}: #{repository}@#{reference}" + end + + q.seplist repos do |repo| + q.text repo + end + end + end + end -- cgit v1.2.3