summaryrefslogtreecommitdiff
path: root/app/workers/merge_requests/delete_source_branch_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/merge_requests/delete_source_branch_worker.rb')
-rw-r--r--app/workers/merge_requests/delete_source_branch_worker.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/workers/merge_requests/delete_source_branch_worker.rb b/app/workers/merge_requests/delete_source_branch_worker.rb
index 69bd3949e9d..66392c670b5 100644
--- a/app/workers/merge_requests/delete_source_branch_worker.rb
+++ b/app/workers/merge_requests/delete_source_branch_worker.rb
@@ -18,9 +18,13 @@ class MergeRequests::DeleteSourceBranchWorker
# Source branch changed while it's being removed
return if merge_request.source_branch_sha != source_branch_sha
- ::Branches::DeleteService.new(merge_request.source_project, user)
+ delete_service_result = ::Branches::DeleteService.new(merge_request.source_project, user)
.execute(merge_request.source_branch)
+ if Feature.enabled?(:track_delete_source_errors, merge_request.source_project)
+ delete_service_result.track_exception if delete_service_result&.error?
+ end
+
::MergeRequests::RetargetChainService.new(project: merge_request.source_project, current_user: user)
.execute(merge_request)
rescue ActiveRecord::RecordNotFound