summaryrefslogtreecommitdiff
path: root/app/services/merge_requests/update_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/merge_requests/update_service.rb')
-rw-r--r--app/services/merge_requests/update_service.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb
index 8cf84e32e85..1707daff734 100644
--- a/app/services/merge_requests/update_service.rb
+++ b/app/services/merge_requests/update_service.rb
@@ -4,6 +4,12 @@ module MergeRequests
class UpdateService < MergeRequests::BaseService
extend ::Gitlab::Utils::Override
+ def initialize(project, user = nil, params = {})
+ super
+
+ @target_branch_was_deleted = @params.delete(:target_branch_was_deleted)
+ end
+
def execute(merge_request)
# We don't allow change of source/target projects and source branch
# after merge request was created
@@ -36,7 +42,9 @@ module MergeRequests
end
if merge_request.previous_changes.include?('target_branch')
- create_branch_change_note(merge_request, 'target',
+ create_branch_change_note(merge_request,
+ 'target',
+ target_branch_was_deleted ? 'delete' : 'update',
merge_request.previous_changes['target_branch'].first,
merge_request.target_branch)
@@ -130,6 +138,8 @@ module MergeRequests
private
+ attr_reader :target_branch_was_deleted
+
def handle_milestone_change(merge_request)
return if skip_milestone_email
@@ -162,9 +172,9 @@ module MergeRequests
merge_request_activity_counter.track_users_review_requested(users: new_reviewers)
end
- def create_branch_change_note(issuable, branch_type, old_branch, new_branch)
+ def create_branch_change_note(issuable, branch_type, event_type, old_branch, new_branch)
SystemNoteService.change_branch(
- issuable, issuable.project, current_user, branch_type,
+ issuable, issuable.project, current_user, branch_type, event_type,
old_branch, new_branch)
end