summaryrefslogtreecommitdiff
path: root/app/services/merge_requests/merge_to_ref_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/merge_requests/merge_to_ref_service.rb')
-rw-r--r--app/services/merge_requests/merge_to_ref_service.rb15
1 files changed, 6 insertions, 9 deletions
diff --git a/app/services/merge_requests/merge_to_ref_service.rb b/app/services/merge_requests/merge_to_ref_service.rb
index 586652ae44e..69cc441f1bb 100644
--- a/app/services/merge_requests/merge_to_ref_service.rb
+++ b/app/services/merge_requests/merge_to_ref_service.rb
@@ -20,7 +20,12 @@ module MergeRequests
raise_error('Conflicts detected during merge') unless commit_id
- success(commit_id: commit_id)
+ commit = project.commit(commit_id)
+ target_id, source_id = commit.parent_ids
+
+ success(commit_id: commit.id,
+ target_id: target_id,
+ source_id: source_id)
rescue MergeError => error
error(error.message)
end
@@ -38,12 +43,8 @@ module MergeRequests
error =
if Feature.disabled?(:merge_to_tmp_merge_ref_path, project)
'Feature is not enabled'
- elsif !merge_method_supported?
- "#{project.human_merge_method} to #{target_ref} is currently not supported."
elsif !hooks_validation_pass?(merge_request)
hooks_validation_error(merge_request)
- elsif @merge_request.should_be_rebased?
- 'Fast-forward merge is not possible. Please update your source branch.'
elsif !@merge_request.mergeable_to_ref?
"Merge request is not mergeable to #{target_ref}"
elsif !source
@@ -68,9 +69,5 @@ module MergeRequests
rescue Gitlab::Git::PreReceiveError => error
raise MergeError, error.message
end
-
- def merge_method_supported?
- [:merge, :rebase_merge].include?(project.merge_method)
- end
end
end