Commit 8937c5ff authored by Douwe Maan's avatar Douwe Maan

Load raw repository lazily to recover from failed read

parent d0ec2882
...@@ -6,7 +6,7 @@ class Repository ...@@ -6,7 +6,7 @@ class Repository
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
attr_accessor :raw_repository, :path_with_namespace, :project attr_accessor :path_with_namespace, :project
def self.clean_old_archives def self.clean_old_archives
repository_downloads_path = Gitlab.config.gitlab.repository_downloads_path repository_downloads_path = Gitlab.config.gitlab.repository_downloads_path
...@@ -19,14 +19,18 @@ class Repository ...@@ -19,14 +19,18 @@ class Repository
def initialize(path_with_namespace, default_branch = nil, project = nil) def initialize(path_with_namespace, default_branch = nil, project = nil)
@path_with_namespace = path_with_namespace @path_with_namespace = path_with_namespace
@project = project @project = project
end
if path_with_namespace def raw_repository
@raw_repository = Gitlab::Git::Repository.new(path_to_repo) return nil unless path_with_namespace
@raw_repository.autocrlf = :input
end
rescue Gitlab::Git::Repository::NoRepository @raw_repository ||= begin
nil repo = Gitlab::Git::Repository.new(path_to_repo)
repo.autocrlf = :input
repo
rescue Gitlab::Git::Repository::NoRepository
nil
end
end end
# Return absolute path to repository # Return absolute path to repository
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment