summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2019-05-30 20:25:25 +0000
committerOswaldo Ferreira <oswaldo@gitlab.com>2019-05-31 19:16:01 -0300
commit96db70a4448fd1e736c10100dccf3a803ec553c0 (patch)
tree8d673cc15dc4db7ec1b7a809a5d0b3db7964b01a
parentb965009ddddcd50e76841dbc97d2767292e88a0a (diff)
downloadgitlab-ce-96db70a4448fd1e736c10100dccf3a803ec553c0.tar.gz
Simplify merge_ref_head methods
-rw-r--r--app/models/merge_request.rb10
-rw-r--r--doc/api/merge_requests.md2
-rw-r--r--lib/api/merge_requests.rb4
3 files changed, 7 insertions, 9 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 25ad8f67496..38b9b886e5f 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1080,16 +1080,14 @@ class MergeRequest < ApplicationRecord
# Returns the current merge-ref HEAD commit.
#
+ # Consider calling mergeability_check method _before_ this if you need
+ # the latest possible version of it (it's already automatically updated
+ # along the merge_status).
+ #
def merge_ref_head
project.repository.commit(merge_ref_path)
end
- # Returns the updated merge-ref HEAD commit.
- #
- def merge_ref_head!
- merge_ref_head if check_mergeability.success?
- end
-
def ref_path
"refs/#{Repository::REF_MERGE_REQUEST}/#{iid}/head"
end
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index 08d57307279..9529a9ec1f5 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -1159,7 +1159,7 @@ Parameters:
}
```
-## Return up to date merge-ref
+## Returns the up to date merge-ref HEAD commit
Merge the changes between the merge request source and target branches into `refs/merge-requests/:iid/merge`
ref, of the target project repository, if possible. This ref will have the state the target branch would have if
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index 59b5346ffbb..a1365d5c02b 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -398,11 +398,11 @@ module API
present merge_request, with: Entities::MergeRequest, current_user: current_user, project: user_project
end
- desc 'Returns an up to date merge-ref HEAD'
+ desc 'Returns the up to date merge-ref HEAD commit'
get ':id/merge_requests/:merge_request_iid/merge_ref' do
merge_request = find_project_merge_request(params[:merge_request_iid])
- result = merge_request.check_mergeability
+ result = ::MergeRequests::MergeabilityCheckService.new(merge_request).execute
if result.success? && commit = merge_request.merge_ref_head
present :commit_id, commit.sha