Only set cwd on the newly spawned process, instead of the current one

This commit is contained in:
Douwe Maan 2018-02-06 12:19:48 -06:00
parent 4900390711
commit 81b5ce1152
1 changed files with 14 additions and 8 deletions

View File

@ -82,14 +82,20 @@ module Gitlab
end
def call_update_hook(gl_id, gl_username, oldrev, newrev, ref)
Dir.chdir(repo_path) do
env = {
'GL_ID' => gl_id,
'GL_USERNAME' => gl_username
}
stdout, stderr, status = Open3.capture3(env, path, ref, oldrev, newrev)
[status.success?, (stderr.presence || stdout).gsub(/\R/, "<br>").html_safe]
end
env = {
'GL_ID' => gl_id,
'GL_USERNAME' => gl_username,
'PWD' => repo_path
}
options = {
chdir: repo_path
}
args = [ref, oldrev, newrev]
stdout, stderr, status = Open3.capture3(env, path, *args, options)
[status.success?, (stderr.presence || stdout).gsub(/\R/, "<br>").html_safe]
end
def retrieve_error_message(stderr, stdout)