diff options
Diffstat (limited to 'app/workers/post_receive.rb')
-rw-r--r-- | app/workers/post_receive.rb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb index 09a594cdb4e..207eef6229f 100644 --- a/app/workers/post_receive.rb +++ b/app/workers/post_receive.rb @@ -29,14 +29,11 @@ class PostReceive def process_project_changes(post_received) changes = [] refs = Set.new + @user = post_received.identify post_received.changes_refs do |oldrev, newrev, ref| @user ||= post_received.identify(newrev) - - unless @user - log("Triggered hook for non-existing user \"#{post_received.identifier}\"") - return false # rubocop:disable Cop/AvoidReturnFromBlocks - end + break unless @user if Gitlab::Git.tag_ref?(ref) GitTagPushService.new(post_received.project, @user, oldrev: oldrev, newrev: newrev, ref: ref).execute @@ -48,6 +45,11 @@ class PostReceive refs << ref end + unless @user + log("Triggered hook for non-existing user \"#{post_received.identifier}\"") + return false + end + after_project_changes_hooks(post_received, @user, refs.to_a, changes) end |