mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
[rubygems/rubygems] Ensure refs directory in cached git source
See https://github.com/rubygems/rubygems/issues/8046 for details
Prior to this commit a cached git source without a specific ref wouldn't
survive pushing to a remote and then pulling on a different machine.
We'd end up without a refs directory in the cache, at which point git
won't recognize it as a repo.
This commit fixes the problem by adding a refs directory if it's not
already there. This needs to be done as early as possible, so any git
commands will work as expected, so this commit adds it before creating
the app cached git proxy.
8c89f0b065
This commit is contained in:
parent
c071fedb32
commit
d0925c075b
2 changed files with 34 additions and 1 deletions
|
@ -188,7 +188,7 @@ module Bundler
|
|||
end
|
||||
|
||||
def specs(*)
|
||||
set_cache_path!(app_cache_path) if use_app_cache?
|
||||
set_up_app_cache!(app_cache_path) if use_app_cache?
|
||||
|
||||
if requires_checkout? && !@copied
|
||||
FileUtils.rm_rf(app_cache_path) if use_app_cache? && git_proxy.not_a_bare_repository?
|
||||
|
@ -320,6 +320,11 @@ module Bundler
|
|||
@install_path = path
|
||||
end
|
||||
|
||||
def set_up_app_cache!(path)
|
||||
FileUtils.mkdir_p(path.join("refs"))
|
||||
set_cache_path!(path)
|
||||
end
|
||||
|
||||
def has_app_cache?
|
||||
cached_revision && super
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue