From c0f921606c91e3e5c601497f57becbf4c6a8e3ac Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Thu, 17 Aug 2017 20:26:06 +0200 Subject: 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. --- app/models/commit.rb | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'app/models/commit.rb') 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) -- cgit v1.2.1