diff options
author | Douwe Maan <douwe@gitlab.com> | 2019-03-07 11:27:52 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2019-03-07 11:27:52 +0000 |
commit | c45bb62c0ae36018891a343c7c820fc1a901e33e (patch) | |
tree | f5a9cb739ab4ed509d66947bbf9581906310e271 /app | |
parent | e571cbaa2f0b5096e514bc96fbc8f26909d8e52b (diff) | |
parent | 2cb45dd0d56156ace389239088822c428d87585c (diff) | |
download | gitlab-ce-c45bb62c0ae36018891a343c7c820fc1a901e33e.tar.gz |
Merge branch 'osw-merge-to-ref-changes-for-ci-team' into 'master'
Make merge to refs/merge-requests/:iid/merge not raise when FF-only enabled
Closes #58393
See merge request gitlab-org/gitlab-ce!25653
Diffstat (limited to 'app')
-rw-r--r-- | app/services/merge_requests/merge_to_ref_service.rb | 15 |
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 |