summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client/util.rb
diff options
context:
space:
mode:
authorAhmad Sherif <me@ahmadsherif.com>2017-10-05 16:51:31 +0200
committerAhmad Sherif <me@ahmadsherif.com>2017-10-11 15:46:55 +0200
commit4378f56c7b1f6f6031c284ff8879cdc4ad79468f (patch)
tree51e29561e9262dead632801038764249bc922bcd /lib/gitlab/gitaly_client/util.rb
parent143ace07ad8c81e5de6f3fd926db7547e7288860 (diff)
downloadgitlab-ce-4378f56c7b1f6f6031c284ff8879cdc4ad79468f.tar.gz
Pass git object dir attributes as relative paths to Gitaly
Fixes gitaly#629
Diffstat (limited to 'lib/gitlab/gitaly_client/util.rb')
-rw-r--r--lib/gitlab/gitaly_client/util.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/gitlab/gitaly_client/util.rb b/lib/gitlab/gitaly_client/util.rb
index da43c616b94..a1222a7e718 100644
--- a/lib/gitlab/gitaly_client/util.rb
+++ b/lib/gitlab/gitaly_client/util.rb
@@ -3,12 +3,18 @@ module Gitlab
module Util
class << self
def repository(repository_storage, relative_path, gl_repository)
+ 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) }
+
Gitaly::Repository.new(
storage_name: repository_storage,
relative_path: relative_path,
gl_repository: gl_repository,
- git_object_directory: Gitlab::Git::Env['GIT_OBJECT_DIRECTORY'].to_s,
- git_alternate_object_directories: Array.wrap(Gitlab::Git::Env['GIT_ALTERNATE_OBJECT_DIRECTORIES'])
+ git_object_directory: git_object_directory.to_s,
+ git_alternate_object_directories: git_alternate_object_directories
)
end