From e226551e812faf2264b9747e3123c3ec0d1b9e58 Mon Sep 17 00:00:00 2001 From: Valeriy Sizov Date: Sun, 18 Nov 2012 19:53:30 +0200 Subject: [PATCH] Fix hooks for merge request which were accepted by web-interface --- app/workers/post_receive.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb index 5311ede7..10128660 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