diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2017-10-12 13:54:59 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2017-10-16 13:19:44 +0200 |
commit | e73af42239cde041d9cfc323b9c3e004f205fe1a (patch) | |
tree | 958bc2d2ccb8b6c17f4e238d0c051ffa1e489ece /lib | |
parent | 1e4b75ba40570a3e96e1999e375a120c4ba8b346 (diff) | |
download | gitlab-ce-e73af42239cde041d9cfc323b9c3e004f205fe1a.tar.gz |
Add Gitlab::Git::Env.to_env_hash
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/git/env.rb | 11 | ||||
-rw-r--r-- | lib/gitlab/git/rev_list.rb | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/gitlab/git/env.rb b/lib/gitlab/git/env.rb index 80f0731cd99..9d0b47a1a6d 100644 --- a/lib/gitlab/git/env.rb +++ b/lib/gitlab/git/env.rb @@ -30,6 +30,17 @@ module Gitlab RequestStore.fetch(:gitlab_git_env) { {} } end + def self.to_env_hash + env = {} + + all.compact.each do |key, value| + value = value.join(File::PATH_SEPARATOR) if value.is_a?(Array) + env[key.to_s] = value + end + + env + end + def self.[](key) all[key] end diff --git a/lib/gitlab/git/rev_list.rb b/lib/gitlab/git/rev_list.rb index 92a6a672534..60b2a4ec411 100644 --- a/lib/gitlab/git/rev_list.rb +++ b/lib/gitlab/git/rev_list.rb @@ -28,7 +28,7 @@ module Gitlab private def execute(args) - output, status = popen(args, nil, Gitlab::Git::Env.all.stringify_keys) + output, status = popen(args, nil, Gitlab::Git::Env.to_env_hash) unless status.zero? raise "Got a non-zero exit code while calling out `#{args.join(' ')}`: #{output}" |