Commit 49cf9bad authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Gitlab::ShellEnv added

parent 0f7f05378cc0
......@@ -32,8 +32,7 @@ def valid?
self.user = User.find_by_email(login) || User.find_by_username(login)
return false unless user.try(:valid_password?, password)
# Set GL_ID env variable
ENV['GL_ID'] = "user-#{user.id}"
Gitlab::ShellEnv.set_env(user)
end
# Git upload and receive
......
......@@ -53,7 +53,6 @@ def remove_key(key_id, key_content)
system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"")
end
def url_to_repo path
Gitlab.config.gitlab_shell.ssh_path_prefix + "#{path}.git"
end
......
module Gitlab
# This module provide 2 methods
# to set specific ENV variabled for GitLab Shell
module ShellEnv
extend self
def set_env(user)
# Set GL_ID env variable
ENV['GL_ID'] = "user-#{user.id}"
end
def reset_env
# Reset GL_ID env variable
ENV['GL_ID'] = nil
end
end
end
......@@ -17,6 +17,8 @@ def initialize(user, project, options = {})
# * Locks the satellite repo
# * Yields the prepared satellite repo
def in_locked_and_timed_satellite
Gitlab::ShellEnv.set_env(user)
Grit::Git.with_timeout(options[:git_timeout]) do
project.satellite.lock do
return yield project.satellite.repo
......@@ -28,6 +30,8 @@ def in_locked_and_timed_satellite
rescue Grit::Git::GitTimeout => ex
Gitlab::GitLogger.error(ex.message)
return false
ensure
Gitlab::ShellEnv.reset_env
end
# * Clears the satellite
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment