summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2016-07-20 14:28:23 +0200
committerJacob Vosmaer <jacob@gitlab.com>2016-07-20 14:35:08 +0200
commit48d292ebde4177972117957df5fd37ac1f2692da (patch)
treea5ce9a3017fe3455521d3b16f5205c3e12b1a759
parente8a4dc7018bba7f0321ce8d5d7758629c6503075 (diff)
downloadgitlab-shell-48d292ebde4177972117957df5fd37ac1f2692da.tar.gz
Unset GL_ID and GL_PROTOCOL immediately
Neither other code executing in the hook process nor subprocesses of the hook process need access to the GL_ID / GL_PROTOCOL variables so we can just unset them the moment we fetch them.
-rwxr-xr-xhooks/post-receive5
-rwxr-xr-xhooks/pre-receive7
2 files changed, 3 insertions, 9 deletions
diff --git a/hooks/post-receive b/hooks/post-receive
index 34802e5..b7bc85e 100755
--- a/hooks/post-receive
+++ b/hooks/post-receive
@@ -4,12 +4,9 @@
# will be processed properly.
refs = $stdin.read
-key_id = ENV['GL_ID']
+key_id = ENV.delete('GL_ID')
repo_path = Dir.pwd
-# reset GL_ID env since we already got its value
-ENV['GL_ID'] = nil
-
require_relative '../lib/gitlab_custom_hook'
require_relative '../lib/gitlab_post_receive'
diff --git a/hooks/pre-receive b/hooks/pre-receive
index a4b2e32..93edbce 100755
--- a/hooks/pre-receive
+++ b/hooks/pre-receive
@@ -4,8 +4,8 @@
# will be processed properly.
refs = $stdin.read
-key_id = ENV['GL_ID']
-protocol = ENV['GL_PROTOCOL']
+key_id = ENV.delete('GL_ID')
+protocol = ENV.delete('GL_PROTOCOL')
repo_path = Dir.pwd
require_relative '../lib/gitlab_custom_hook'
@@ -15,8 +15,5 @@ if GitlabAccess.new(repo_path, key_id, refs, protocol).exec &&
GitlabCustomHook.new.pre_receive(refs, repo_path)
exit 0
else
- # reset GL_ID env since we stop git push here
- ENV['GL_ID'] = nil
-
exit 1
end