diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2019-06-10 15:43:42 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2019-06-10 15:43:42 +0000 |
commit | de4e63b3fcec455549f69d604424c70205694e55 (patch) | |
tree | 980eee1eb829436698dd28baba90956c5ffdcdbc /app | |
parent | e74f7159c5d2725c1069940c6810545b1007cfbc (diff) | |
parent | 30123910e046696ea713475ca3106bc8bd470124 (diff) | |
download | gitlab-ce-de4e63b3fcec455549f69d604424c70205694e55.tar.gz |
Merge branch 'cancel-auto-merge-when-branch-is-changed' into 'master'
Cancel Auto Merge when target branch is changed
See merge request gitlab-org/gitlab-ce!29416
Diffstat (limited to 'app')
-rw-r--r-- | app/services/merge_requests/base_service.rb | 4 | ||||
-rw-r--r-- | app/services/merge_requests/close_service.rb | 4 | ||||
-rw-r--r-- | app/services/merge_requests/refresh_service.rb | 6 | ||||
-rw-r--r-- | app/services/merge_requests/update_service.rb | 2 |
4 files changed, 9 insertions, 7 deletions
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb index 2cfed62ce49..c34fbeb2adb 100644 --- a/app/services/merge_requests/base_service.rb +++ b/app/services/merge_requests/base_service.rb @@ -68,6 +68,10 @@ module MergeRequests !merge_request.for_fork? end + def cancel_auto_merge(merge_request) + AutoMergeService.new(project, current_user).cancel(merge_request) + end + # Returns all origin and fork merge requests from `@project` satisfying passed arguments. # rubocop: disable CodeReuse/ActiveRecord def merge_requests_for(source_branch, mr_states: [:opened]) diff --git a/app/services/merge_requests/close_service.rb b/app/services/merge_requests/close_service.rb index b0f6166ea1c..b81a4dd81d2 100644 --- a/app/services/merge_requests/close_service.rb +++ b/app/services/merge_requests/close_service.rb @@ -34,9 +34,5 @@ module MergeRequests merge_request_metrics_service(merge_request).close(close_event) end end - - def cancel_auto_merge(merge_request) - AutoMergeService.new(project, current_user).cancel(merge_request) - end end end diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb index 08130a531ee..4b199bd8fa8 100644 --- a/app/services/merge_requests/refresh_service.rb +++ b/app/services/merge_requests/refresh_service.rb @@ -24,7 +24,7 @@ module MergeRequests reload_merge_requests outdate_suggestions refresh_pipelines_on_merge_requests - cancel_auto_merge + cancel_auto_merges mark_pending_todos_done cache_merge_requests_closing_issues @@ -142,9 +142,9 @@ module MergeRequests end end - def cancel_auto_merge + def cancel_auto_merges merge_requests_for_source_branch.each do |merge_request| - AutoMergeService.new(project, current_user).cancel(merge_request) + cancel_auto_merge(merge_request) end end diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb index 6a0f3000ffb..0066cd0491f 100644 --- a/app/services/merge_requests/update_service.rb +++ b/app/services/merge_requests/update_service.rb @@ -43,6 +43,8 @@ module MergeRequests create_branch_change_note(merge_request, 'target', merge_request.previous_changes['target_branch'].first, merge_request.target_branch) + + cancel_auto_merge(merge_request) end if merge_request.assignees != old_assignees |