summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2017-10-12 13:54:59 +0200
committerJacob Vosmaer <jacob@gitlab.com>2017-10-16 13:19:44 +0200
commite73af42239cde041d9cfc323b9c3e004f205fe1a (patch)
tree958bc2d2ccb8b6c17f4e238d0c051ffa1e489ece /lib
parent1e4b75ba40570a3e96e1999e375a120c4ba8b346 (diff)
downloadgitlab-ce-e73af42239cde041d9cfc323b9c3e004f205fe1a.tar.gz
Add Gitlab::Git::Env.to_env_hash
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/git/env.rb11
-rw-r--r--lib/gitlab/git/rev_list.rb2
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}"