diff options
author | Saverio Miroddi <saverio.pub2@gmail.com> | 2017-08-17 20:26:06 +0200 |
---|---|---|
committer | Saverio Miroddi <saverio.pub2@gmail.com> | 2017-08-17 22:38:47 +0200 |
commit | c0f921606c91e3e5c601497f57becbf4c6a8e3ac (patch) | |
tree | 3cb77d0f5b837d16fd572946be9d308541d54d85 /app/models/commit.rb | |
parent | 919c0c7ba7369970bf57e9388333af120b74203d (diff) | |
download | gitlab-ce-c0f921606c91e3e5c601497f57becbf4c6a8e3ac.tar.gz |
Correct the cherry-pick message for merge commits
The list of commits must be generated from the merge request,
not from a diff of the branches.
Diffstat (limited to 'app/models/commit.rb')
-rw-r--r-- | app/models/commit.rb | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb index f36e07fc3ca..5f59d088cd2 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -251,19 +251,16 @@ class Commit project.repository.next_branch("cherry-pick-#{short_id}", mild: true) end - def cherry_pick_description(start_project, start_branch_name) + def cherry_pick_description(user) message_buffer = "(cherry picked from commit #{sha})" - if merge_commit? - compare = CompareService.new(project, sha).execute(start_project, start_branch_name) - - # Ignore the merge commit. - commits_in_merge = compare.commits[0..-2] + if merged_merge_request?(user) + commits_in_merge_request = merged_merge_request(user).commits - if commits_in_merge.present? + if commits_in_merge_request.present? message_buffer << "\n" - commits_in_merge.each do |commit_in_merge| + commits_in_merge_request.each do |commit_in_merge| message_buffer << "\n#{commit_in_merge.short_id} #{commit_in_merge.title}" end end @@ -272,8 +269,8 @@ class Commit message_buffer end - def cherry_pick_message(start_project, start_branch_name) - %Q{#{message}\n\n#{cherry_pick_description(start_project, start_branch_name)}} + def cherry_pick_message(user) + %Q{#{message}\n\n#{cherry_pick_description(user)}} end def revert_description(user) |