Load raw repository lazily to recover from failed read
This commit is contained in:
parent
d0ec28827d
commit
8937c5ff7a
1 changed files with 11 additions and 7 deletions
|
@ -6,7 +6,7 @@ class Repository
|
|||
|
||||
include Gitlab::ShellAdapter
|
||||
|
||||
attr_accessor :raw_repository, :path_with_namespace, :project
|
||||
attr_accessor :path_with_namespace, :project
|
||||
|
||||
def self.clean_old_archives
|
||||
repository_downloads_path = Gitlab.config.gitlab.repository_downloads_path
|
||||
|
@ -19,15 +19,19 @@ class Repository
|
|||
def initialize(path_with_namespace, default_branch = nil, project = nil)
|
||||
@path_with_namespace = path_with_namespace
|
||||
@project = project
|
||||
|
||||
if path_with_namespace
|
||||
@raw_repository = Gitlab::Git::Repository.new(path_to_repo)
|
||||
@raw_repository.autocrlf = :input
|
||||
end
|
||||
|
||||
def raw_repository
|
||||
return nil unless path_with_namespace
|
||||
|
||||
@raw_repository ||= begin
|
||||
repo = Gitlab::Git::Repository.new(path_to_repo)
|
||||
repo.autocrlf = :input
|
||||
repo
|
||||
rescue Gitlab::Git::Repository::NoRepository
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
# Return absolute path to repository
|
||||
def path_to_repo
|
||||
|
|
Loading…
Reference in a new issue