summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-02-12 18:11:01 +0000
committerDouwe Maan <douwe@gitlab.com>2016-02-12 18:11:01 +0000
commit31c8dbc96fae558a794de18dbb5f06c2dc1a6286 (patch)
tree403b680d15e85c2eb08bc816576dccb1c84ec01f
parentc142bde51d05ad6fe2137c1b6bb0cd2485b4f1d9 (diff)
parent4603e5714705da75fda4ef4857c327ac4b087848 (diff)
downloadgitlab-ce-31c8dbc96fae558a794de18dbb5f06c2dc1a6286.tar.gz
Merge branch 'fix-duplicate-hook-notifications' into 'master'
Fix duplicated branch creation/deletion Web hooks/service notifications when using Web UI Similar to 423d2d6, except duplicates occurred only if a Web service (e.g. Slack) were configured. When deleting a branch, this is what was happening: 1. DeleteBranchService calls execute_hooks and execute_services 2. The call to repository.rm_branch triggers the GitHooksService. 3. This, in turn, calls GitPushService and then calls the same hooks/services again. 5145706 now makes it no longer necessary for DeleteBranchService and CreateBranchService to execute the branch hooks/services. Note that tags behave differently in GitTagPushService and GitPushService is not called. Closes #10330 See merge request !2763
-rw-r--r--CHANGELOG1
-rw-r--r--app/services/create_branch_service.rb6
-rw-r--r--app/services/delete_branch_service.rb6
3 files changed, 3 insertions, 10 deletions
diff --git a/CHANGELOG b/CHANGELOG
index ea84cf0fd79..9b2d6d58a5c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 8.5.0 (unreleased)
- Cache various Repository methods to improve performance (Yorick Peterse)
+ - Fix duplicated branch creation/deletion Web hooks/service notifications when using Web UI (Stan Hu)
- Ensure rake tasks that don't need a DB connection can be run without one
- Update New Relic gem to 3.14.1.311 (Stan Hu)
- Add "visibility" flag to GET /projects api endpoint
diff --git a/app/services/create_branch_service.rb b/app/services/create_branch_service.rb
index c0e08a151f2..707c2f7ff85 100644
--- a/app/services/create_branch_service.rb
+++ b/app/services/create_branch_service.rb
@@ -29,11 +29,7 @@ class CreateBranchService < BaseService
end
if new_branch
- push_data = build_push_data(project, current_user, new_branch)
-
- project.execute_hooks(push_data.dup, :push_hooks)
- project.execute_services(push_data.dup, :push_hooks)
-
+ # GitPushService handles execution of services and hooks for branch pushes
success(new_branch)
else
error('Invalid reference name')
diff --git a/app/services/delete_branch_service.rb b/app/services/delete_branch_service.rb
index 004b3ce7286..fae069ee4a5 100644
--- a/app/services/delete_branch_service.rb
+++ b/app/services/delete_branch_service.rb
@@ -25,11 +25,7 @@ class DeleteBranchService < BaseService
end
if repository.rm_branch(current_user, branch_name)
- push_data = build_push_data(branch)
-
- project.execute_hooks(push_data.dup, :push_hooks)
- project.execute_services(push_data.dup, :push_hooks)
-
+ # GitPushService handles execution of services and hooks for branch pushes
success('Branch was removed')
else
error('Failed to remove branch')