lib/bundler/source.rb in bundler-0.9.3 vs lib/bundler/source.rb in bundler-0.9.4
- old
+ new
@@ -60,11 +60,11 @@
end
def prerelease_specs
Marshal.load(Gem::RemoteFetcher.fetcher.fetch_path("#{uri}/prerelease_specs.4.8.gz"))
rescue Gem::RemoteFetcher::FetchError
- Bundler.logger.warn "Source '#{uri}' does not support prerelease gems"
+ Bundler.ui.warn "Source '#{uri}' does not support prerelease gems"
[]
end
end
class SystemGems
@@ -284,10 +284,18 @@
def base_name
File.basename(uri, ".git")
end
def uri_hash
- Digest::SHA1.hexdigest(URI.parse(uri).normalize.to_s.sub(%r{/$}, ''))
+ if uri =~ %r{^\w+://(\w+@)?}
+ # Downcase the domain component of the URI
+ # and strip off a trailing slash, if one is present
+ input = URI.parse(uri).normalize.to_s.sub(%r{/$},'')
+ else
+ # If there is no URI scheme, assume it is an ssh/git URI
+ input = uri
+ end
+ Digest::SHA1.hexdigest(input)
end
def cache_path
@cache_path ||= Bundler.cache.join("git", "#{base_name}-#{uri_hash}")
end