Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValeriy Sizov <vsv2711@gmail.com>2012-11-18 21:53:30 +0400
committerValeriy Sizov <vsv2711@gmail.com>2012-11-18 21:56:29 +0400
commite226551e812faf2264b9747e3123c3ec0d1b9e58 (patch)
tree68dba014b6b3ecccfa75aa2f6f0295ff04745195 /app/workers/post_receive.rb
parent51f48392abb225eaed58a6368382cdc28a961d3b (diff)
Fix hooks for merge request which were accepted by web-interface
Diffstat (limited to 'app/workers/post_receive.rb')
-rw-r--r--app/workers/post_receive.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb
index 5311ede72e2..10128660cd4 100644
--- a/app/workers/post_receive.rb
+++ b/app/workers/post_receive.rb
@@ -6,11 +6,15 @@ class PostReceive
return false if project.nil?
# Ignore push from non-gitlab users
- if /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier)
- return false unless user = User.find_by_email(identifier)
+ user = if identifier.eql? Gitlab.config.gitolite_admin_key
+ email = project.commit(newrev).author.email
+ User.find_by_email(email)
+ elsif /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier)
+ User.find_by_email(identifier)
else
- return false unless user = Key.find_by_identifier(identifier).try(:user)
+ Key.find_by_identifier(identifier).try(:user)
end
+ return false unless user
project.trigger_post_receive(oldrev, newrev, ref, user)
end