summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2019-03-01 09:20:11 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2019-03-06 17:49:31 -0300
commit2cb45dd0d56156ace389239088822c428d87585c (patch)
treeb4ec8b3839e8311396792c8037e47cba0cb0b5c7 /app
parent959ad992b6b95458f084569ec6d71c8608c3e3c7 (diff)
downloadgitlab-ce-2cb45dd0d56156ace389239088822c428d87585c.tar.gz
Provide reliable source and target IDs
Returns the source and target IDs used to create the merge commit on Gitaly.
Diffstat (limited to 'app')
-rw-r--r--app/services/merge_requests/merge_to_ref_service.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/services/merge_requests/merge_to_ref_service.rb b/app/services/merge_requests/merge_to_ref_service.rb
index d62d9cba3f6..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, source_id: source)
+ 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