Skip to content
Snippets Groups Projects
Commit 8937c5ff authored by Douwe Maan's avatar Douwe Maan
Browse files

Load raw repository lazily to recover from failed read

parent d0ec2882
No related branches found
No related tags found
1 merge request!1822Backport relevant changes from gitlab-org/gitlab-ee!51
Pipeline #
Loading
@@ -6,7 +6,7 @@ class Repository
Loading
@@ -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
Loading
@@ -19,14 +19,18 @@ class Repository
Loading
@@ -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
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment