summaryrefslogtreecommitdiff
path: root/app/services/merge_requests/build_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/merge_requests/build_service.rb')
-rw-r--r--app/services/merge_requests/build_service.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/app/services/merge_requests/build_service.rb b/app/services/merge_requests/build_service.rb
index a9b29f9654d..956480938c3 100644
--- a/app/services/merge_requests/build_service.rb
+++ b/app/services/merge_requests/build_service.rb
@@ -12,16 +12,12 @@ module MergeRequests
merge_request.target_project ||= (project.forked_from_project || project)
merge_request.target_branch ||= merge_request.target_project.default_branch
- if merge_request.target_branch.blank? || merge_request.source_branch.blank?
- message =
- if params[:source_branch] || params[:target_branch]
- "You must select source and target branch"
- end
-
- return build_failed(merge_request, message)
+ unless merge_request.target_branch && merge_request.source_branch
+ return build_failed(merge_request, nil)
end
compare_result = CompareService.new.execute(
+ current_user,
merge_request.source_project,
merge_request.source_branch,
merge_request.target_project,
@@ -44,6 +40,7 @@ module MergeRequests
merge_request.compare_diffs = diffs
elsif diffs == false
+ # satellite timeout return false
merge_request.can_be_created = false
merge_request.compare_failed = true
end
@@ -62,6 +59,9 @@ module MergeRequests
end
merge_request
+
+ rescue Gitlab::Satellite::BranchesWithoutParent
+ return build_failed(merge_request, "Selected branches have no common commit so they cannot be merged.")
end
def build_failed(merge_request, message)