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