From 52bfd064627c6a63b82bc81e7ebabac299b25eed Mon Sep 17 00:00:00 2001 From: Ahmad Sherif Date: Tue, 14 Nov 2017 16:14:35 +0100 Subject: Use relative git object paths to construct absolute ones before setting Env --- lib/api/helpers/internal_helpers.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/api/helpers') diff --git a/lib/api/helpers/internal_helpers.rb b/lib/api/helpers/internal_helpers.rb index 4c0db4d42b1..4b3c473b0bb 100644 --- a/lib/api/helpers/internal_helpers.rb +++ b/lib/api/helpers/internal_helpers.rb @@ -36,6 +36,18 @@ module API {} end + def fix_git_env_repository_paths(env, repository_path) + if obj_dir_relative = env['GIT_OBJECT_DIRECTORY_RELATIVE'].presence + env['GIT_OBJECT_DIRECTORY'] = File.join(repository_path, obj_dir_relative) + end + + if alt_obj_dirs_relative = env['GIT_ALTERNATE_OBJECT_DIRECTORIES_RELATIVE'].presence + env['GIT_ALTERNATE_OBJECT_DIRECTORIES'] = alt_obj_dirs_relative.map { |dir| File.join(repository_path, dir) } + end + + env + end + def log_user_activity(actor) commands = Gitlab::GitAccess::DOWNLOAD_COMMANDS -- cgit v1.2.1