summaryrefslogtreecommitdiff
path: root/app/services/merge_requests/base_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/merge_requests/base_service.rb')
-rw-r--r--app/services/merge_requests/base_service.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb
index fe19abf50f6..c29f139bfee 100644
--- a/app/services/merge_requests/base_service.rb
+++ b/app/services/merge_requests/base_service.rb
@@ -59,13 +59,15 @@ module MergeRequests
merge_request.source_project,
default_enabled: true)
+ sha = merge_request.diff_head_sha
+
##
# UpdateMergeRequestsWorker could be retried by an exception.
# MR pipelines should not be recreated in such case.
- return if merge_request.merge_request_pipeline_exists?
+ return if !sha || merge_request.merge_request_pipeline_exists?(sha)
Ci::CreatePipelineService
- .new(merge_request.source_project, user, ref: merge_request.source_branch)
+ .new(merge_request.source_project, user, ref: merge_request.source_branch, checkout_sha: sha)
.execute(:merge_request,
ignore_skip_ci: true,
save_on_errors: false,