2017-02-15 21:08:30 -05:00
|
|
|
module Gitlab
|
|
|
|
module GitalyClient
|
|
|
|
module Util
|
2017-04-06 10:54:15 -04:00
|
|
|
class << self
|
2017-09-20 18:33:56 -04:00
|
|
|
def repository(repository_storage, relative_path, gl_repository)
|
2017-10-05 10:51:31 -04:00
|
|
|
git_object_directory = Gitlab::Git::Env['GIT_OBJECT_DIRECTORY_RELATIVE'].presence ||
|
|
|
|
Gitlab::Git::Env['GIT_OBJECT_DIRECTORY'].presence
|
|
|
|
git_alternate_object_directories =
|
|
|
|
Array.wrap(Gitlab::Git::Env['GIT_ALTERNATE_OBJECT_DIRECTORIES_RELATIVE']).presence ||
|
|
|
|
Array.wrap(Gitlab::Git::Env['GIT_ALTERNATE_OBJECT_DIRECTORIES']).flat_map { |d| d.split(File::PATH_SEPARATOR) }
|
|
|
|
|
2017-04-06 10:54:15 -04:00
|
|
|
Gitaly::Repository.new(
|
|
|
|
storage_name: repository_storage,
|
2017-08-09 02:36:24 -04:00
|
|
|
relative_path: relative_path,
|
2017-12-19 11:45:58 -05:00
|
|
|
gl_repository: gl_repository.to_s,
|
2017-10-05 10:51:31 -04:00
|
|
|
git_object_directory: git_object_directory.to_s,
|
|
|
|
git_alternate_object_directories: git_alternate_object_directories
|
2017-04-06 10:54:15 -04:00
|
|
|
)
|
|
|
|
end
|
2017-09-20 06:11:51 -04:00
|
|
|
|
2017-12-05 14:42:04 -05:00
|
|
|
def git_repository(gitaly_repository)
|
|
|
|
Gitlab::Git::Repository.new(gitaly_repository.storage_name,
|
|
|
|
gitaly_repository.relative_path,
|
|
|
|
gitaly_repository.gl_repository)
|
|
|
|
end
|
|
|
|
|
2017-09-25 16:01:04 -04:00
|
|
|
def gitlab_tag_from_gitaly_tag(repository, gitaly_tag)
|
|
|
|
if gitaly_tag.target_commit.present?
|
|
|
|
commit = Gitlab::Git::Commit.decorate(repository, gitaly_tag.target_commit)
|
|
|
|
end
|
|
|
|
|
|
|
|
Gitlab::Git::Tag.new(
|
|
|
|
repository,
|
|
|
|
Gitlab::EncodingHelper.encode!(gitaly_tag.name.dup),
|
|
|
|
gitaly_tag.id,
|
|
|
|
commit,
|
|
|
|
Gitlab::EncodingHelper.encode!(gitaly_tag.message.chomp)
|
|
|
|
)
|
|
|
|
end
|
2017-02-15 21:08:30 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|