зеркало из https://github.com/github/ruby.git
[bundler/bundler] Fix file:// handling under Windows
Windows paths do not start with a slash, so we add an extra slash to separate the host from the path in file:// urls. Otherwise "D:" is parsed as the host segment in the URI. The path for those URLs now starts with "/", so we ignore that leading character when using the URI's path. This reduces Windows CI spec failures from 429 to 355. https://github.com/bundler/bundler/commit/1b7e274cbc
This commit is contained in:
Родитель
c3ddd47ce7
Коммит
e111f38f34
|
@ -99,7 +99,8 @@ module Bundler
|
|||
|
||||
uri = URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
|
||||
if uri.scheme == "file"
|
||||
Bundler.load_marshal Bundler.rubygems.inflate(Gem.read_binary(uri.path))
|
||||
path = Gem.win_platform? ? uri.path[1..-1] : uri.path
|
||||
Bundler.load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
|
||||
elsif cached_spec_path = gemspec_cached_path(spec_file_name)
|
||||
Bundler.load_gemspec(cached_spec_path)
|
||||
else
|
||||
|
|
|
@ -30,7 +30,8 @@ module Bundler
|
|||
|
||||
uri = URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
|
||||
if uri.scheme == "file"
|
||||
Bundler.load_marshal Bundler.rubygems.inflate(Gem.read_binary(uri.path))
|
||||
path = Gem.win_platform? ? uri.path[1..-1] : uri.path
|
||||
Bundler.load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
|
||||
elsif cached_spec_path = gemspec_cached_path(spec_file_name)
|
||||
Bundler.load_gemspec(cached_spec_path)
|
||||
else
|
||||
|
|
|
@ -64,10 +64,11 @@ module Spec
|
|||
|
||||
def file_uri_for(path)
|
||||
protocol = "file://"
|
||||
root = Gem.win_platform? ? "/" : ""
|
||||
|
||||
return protocol + "localhost" + path.to_s if RUBY_VERSION < "2.5"
|
||||
return protocol + "localhost" + root + path.to_s if RUBY_VERSION < "2.5"
|
||||
|
||||
protocol + path.to_s
|
||||
protocol + root + path.to_s
|
||||
end
|
||||
|
||||
def gem_repo1(*args)
|
||||
|
|
Загрузка…
Ссылка в новой задаче