diff options
author | Rémy Coutable <remy@rymai.me> | 2017-11-28 18:01:09 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-11-28 18:01:09 +0000 |
commit | becf29e3ab3463a8a1f3c6ed7bbfd7d2dcc49ea0 (patch) | |
tree | a56172dc723850b3baf3452a575bb77c461dbe64 /app/models/merge_request.rb | |
parent | 2081650afc6417daa5933146c0922ff622a958b7 (diff) | |
parent | 3c6a4d63636ba41dad0ce63cf536761fc3b5ef64 (diff) | |
download | gitlab-ce-becf29e3ab3463a8a1f3c6ed7bbfd7d2dcc49ea0.tar.gz |
Merge branch '40530-merge-request-generates-wrong-diff-when-branch-and-tag-have-the-same-name' into 'master'
Resolve "Merge request generates wrong diff when branch and tag have the same name"
Closes #40530
See merge request gitlab-org/gitlab-ce!15591
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index e4d8f486c77..a6b10d5349c 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -364,16 +364,28 @@ class MergeRequest < ActiveRecord::Base # We use these attributes to force these to the intended values. attr_writer :target_branch_sha, :source_branch_sha + def source_branch_ref + return @source_branch_sha if @source_branch_sha + return unless source_branch + + Gitlab::Git::BRANCH_REF_PREFIX + source_branch + end + + def target_branch_ref + return @target_branch_sha if @target_branch_sha + return unless target_branch + + Gitlab::Git::BRANCH_REF_PREFIX + target_branch + end + def source_branch_head return unless source_project - source_branch_ref = @source_branch_sha || source_branch source_project.repository.commit(source_branch_ref) if source_branch_ref end def target_branch_head - target_branch_ref = @target_branch_sha || target_branch - target_project.repository.commit(target_branch_ref) if target_branch_ref + target_project.repository.commit(target_branch_ref) end def branch_merge_base_commit |