From 1d6ba597028142511af8c9863f81073278ccd927 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Thu, 10 Aug 2017 21:16:49 +0200 Subject: [PATCH 01/14] Add 'from commit' information to cherry-picked commits Store the original commit in the commit message. In case of merge commit, the commits added to the start branch are also listed. --- app/models/commit.rb | 24 ++++++++++++++++++++++++ app/models/repository.rb | 4 +++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 638fddc5d3d..24732b6dd29 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -251,6 +251,30 @@ class Commit project.repository.next_branch("cherry-pick-#{short_id}", mild: true) end + def cherry_pick_message(start_branch_name) + message_buffer = message.dup + + if merge_commit? + compare = CompareService.new(project, sha).execute(project, start_branch_name) + + *commits_in_merge, merge_commit = compare.commits + + message_buffer << "\n\ncherry picked from merge #{merge_commit.sha}" + + if commits_in_merge.present? + message_buffer << "; commits:" + + commits_in_merge.each do |commit_in_merge| + message_buffer << "\n- #{commit_in_merge.sha}" + end + end + else + message_buffer << "\ncherry picked from commit #{sha}" + end + + message_buffer + end + def revert_description(user) if merged_merge_request?(user) "This reverts merge request #{merged_merge_request(user).to_reference}" diff --git a/app/models/repository.rb b/app/models/repository.rb index 049bebdbe42..0e876189f63 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -875,7 +875,9 @@ class Repository committer = user_to_committer(user) - create_commit(message: commit.message, + commit_message = commit.cherry_pick_message(start_branch_name) + + create_commit(message: commit_message, author: { email: commit.author_email, name: commit.author_name, From 3d7febc01c98baaeb6c937fa63d2bf23681cc8d2 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Tue, 15 Aug 2017 19:35:28 +0200 Subject: [PATCH 02/14] Extracted cherry-pick description in ::Commit This also fixes the inconsistency between non/merge commits in the number of newlines introduced. --- app/models/commit.rb | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 24732b6dd29..9b5f3212bf3 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -251,15 +251,15 @@ class Commit project.repository.next_branch("cherry-pick-#{short_id}", mild: true) end - def cherry_pick_message(start_branch_name) - message_buffer = message.dup - + def cherry_pick_description(start_branch_name) if merge_commit? + message_buffer = "" + compare = CompareService.new(project, sha).execute(project, start_branch_name) *commits_in_merge, merge_commit = compare.commits - message_buffer << "\n\ncherry picked from merge #{merge_commit.sha}" + message_buffer << "cherry picked from merge #{merge_commit.sha}" if commits_in_merge.present? message_buffer << "; commits:" @@ -268,11 +268,15 @@ class Commit message_buffer << "\n- #{commit_in_merge.sha}" end end - else - message_buffer << "\ncherry picked from commit #{sha}" - end - message_buffer + message_buffer + else + "cherry picked from commit #{sha}" + end + end + + def cherry_pick_message(start_branch_name) + %Q{#{message}\n\n#{cherry_pick_description(start_branch_name)}} end def revert_description(user) From e33608d8e4367a04d855d047aceb65a927b3d8d8 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Tue, 15 Aug 2017 19:57:40 +0200 Subject: [PATCH 03/14] Made commit cherry-pick message more standard Follow the `cherry pick -x` format for the first line, and the interactive rebase format for the commits in the merge, in case of merge commit --- app/models/commit.rb | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 9b5f3212bf3..314004ae58a 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -252,27 +252,24 @@ class Commit end def cherry_pick_description(start_branch_name) - if merge_commit? - message_buffer = "" + message_buffer = "(cherry picked from commit #{sha})" + if merge_commit? compare = CompareService.new(project, sha).execute(project, start_branch_name) - *commits_in_merge, merge_commit = compare.commits - - message_buffer << "cherry picked from merge #{merge_commit.sha}" + # Ignore the merge commit. + commits_in_merge = compare.commits[0..-2] if commits_in_merge.present? - message_buffer << "; commits:" + message_buffer << "\n" commits_in_merge.each do |commit_in_merge| - message_buffer << "\n- #{commit_in_merge.sha}" + message_buffer << "\n#{commit_in_merge.short_id} #{commit_in_merge.title}" end end - - message_buffer - else - "cherry picked from commit #{sha}" end + + message_buffer end def cherry_pick_message(start_branch_name) From 85aeb884386f9943f8cc95cb1d2faabf011e5c6a Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Tue, 15 Aug 2017 21:17:52 +0200 Subject: [PATCH 04/14] Add support for start project to commit cherry-pick description --- app/models/commit.rb | 8 ++++---- app/models/repository.rb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 314004ae58a..f36e07fc3ca 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -251,11 +251,11 @@ class Commit project.repository.next_branch("cherry-pick-#{short_id}", mild: true) end - def cherry_pick_description(start_branch_name) + def cherry_pick_description(start_project, start_branch_name) message_buffer = "(cherry picked from commit #{sha})" if merge_commit? - compare = CompareService.new(project, sha).execute(project, start_branch_name) + compare = CompareService.new(project, sha).execute(start_project, start_branch_name) # Ignore the merge commit. commits_in_merge = compare.commits[0..-2] @@ -272,8 +272,8 @@ class Commit message_buffer end - def cherry_pick_message(start_branch_name) - %Q{#{message}\n\n#{cherry_pick_description(start_branch_name)}} + def cherry_pick_message(start_project, start_branch_name) + %Q{#{message}\n\n#{cherry_pick_description(start_project, start_branch_name)}} end def revert_description(user) diff --git a/app/models/repository.rb b/app/models/repository.rb index 06117994ac1..c11f9d53497 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -879,7 +879,7 @@ class Repository committer = user_to_committer(user) - commit_message = commit.cherry_pick_message(start_branch_name) + commit_message = commit.cherry_pick_message(start_project, start_branch_name) create_commit(message: commit_message, author: { From ae5e806f128e8e737948f4286da92526c74c316e Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Wed, 16 Aug 2017 12:43:18 +0200 Subject: [PATCH 05/14] Fix build failures related to cherry-pick message changes --- spec/requests/api/commits_spec.rb | 2 +- spec/requests/api/v3/commits_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb index 992a6e8d76a..1fba7fcc10a 100644 --- a/spec/requests/api/commits_spec.rb +++ b/spec/requests/api/commits_spec.rb @@ -791,7 +791,7 @@ describe API::Commits do expect(response).to have_gitlab_http_status(201) expect(response).to match_response_schema('public_api/v4/commit/basic') expect(json_response['title']).to eq(commit.title) - expect(json_response['message']).to eq(commit.message) + expect(json_response['message']).to eq(commit.cherry_pick_message(project, branch)) expect(json_response['author_name']).to eq(commit.author_name) expect(json_response['committer_name']).to eq(user.name) end diff --git a/spec/requests/api/v3/commits_spec.rb b/spec/requests/api/v3/commits_spec.rb index 4a4a5dc5c7c..9edf21719cd 100644 --- a/spec/requests/api/v3/commits_spec.rb +++ b/spec/requests/api/v3/commits_spec.rb @@ -474,7 +474,7 @@ describe API::V3::Commits do expect(response).to have_http_status(201) expect(json_response['title']).to eq(master_pickable_commit.title) - expect(json_response['message']).to eq(master_pickable_commit.message) + expect(json_response['message']).to eq(master_pickable_commit.cherry_pick_message(project, 'master')) expect(json_response['author_name']).to eq(master_pickable_commit.author_name) expect(json_response['committer_name']).to eq(user.name) end From 919c0c7ba7369970bf57e9388333af120b74203d Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Wed, 16 Aug 2017 13:18:07 +0200 Subject: [PATCH 06/14] Extended UTs for the new cherry-pick message format --- spec/models/commit_spec.rb | 24 ++++++++++++++++++++++++ spec/models/repository_spec.rb | 5 ++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index c18c635d811..9711222b3a1 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -195,6 +195,30 @@ eos it { expect(data[:removed]).to eq([]) } end + describe '#cherry_pick_message' do + let(:regular_commit) { project.commit('video') } + let(:merge_commit) { project.commit('wip') } + + context 'of a regular commit' do + it { expect(regular_commit.cherry_pick_message(project, 'master')).to include("\n\n(cherry picked from commit 88790590ed1337ab189bccaa355f068481c90bec)") } + end + + context 'of a merge commit' do + it do + expected_appended_text = <<~STR.rstrip + + + (cherry picked from commit b9238ee5bf1d7359dd3b8c89fd76c1c7f8b75aba) + + 6d664995 This commit will be fixupped against + 64117577 fixup! This commit will be fixupped against + STR + + expect(merge_commit.cherry_pick_message(project, 'master')).to include(expected_appended_text) + end + end + end + describe '#reverts_commit?' do let(:another_commit) { double(:commit, revert_description: "This reverts commit #{commit.sha}") } let(:user) { commit.author } diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index 4926d5d6c49..c407799e47e 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -1344,8 +1344,11 @@ describe Repository, models: true do it 'cherry-picks the changes' do expect(repository.blob_at_branch('improve/awesome', 'foo/bar/.gitkeep')).to be_nil - repository.cherry_pick(user, pickable_merge, 'improve/awesome') + cherry_pick_commit_sha = repository.cherry_pick(user, pickable_merge, 'improve/awesome') + cherry_pick_commit_message = project.commit(cherry_pick_commit_sha).message + expect(repository.blob_at_branch('improve/awesome', 'foo/bar/.gitkeep')).not_to be_nil + expect(cherry_pick_commit_message).to include('cherry picked from') end end end From c0f921606c91e3e5c601497f57becbf4c6a8e3ac Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Thu, 17 Aug 2017 20:26:06 +0200 Subject: [PATCH 07/14] 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 +++++------ app/models/repository.rb | 4 +-- spec/models/commit_spec.rb | 43 ++++++++++++++++++++++------ spec/requests/api/commits_spec.rb | 2 +- spec/requests/api/v3/commits_spec.rb | 2 +- 5 files changed, 45 insertions(+), 23 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) + if merged_merge_request?(user) + commits_in_merge_request = merged_merge_request(user).commits - # Ignore the merge commit. - commits_in_merge = compare.commits[0..-2] - - 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) diff --git a/app/models/repository.rb b/app/models/repository.rb index c11f9d53497..7e38c06e6db 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -879,9 +879,7 @@ class Repository committer = user_to_committer(user) - commit_message = commit.cherry_pick_message(start_project, start_branch_name) - - create_commit(message: commit_message, + create_commit(message: commit.cherry_pick_message(user), author: { email: commit.author_email, name: commit.author_name, diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 9711222b3a1..98054b91c29 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -196,25 +196,52 @@ eos end describe '#cherry_pick_message' do - let(:regular_commit) { project.commit('video') } - let(:merge_commit) { project.commit('wip') } + let(:user) { create(:user) } context 'of a regular commit' do - it { expect(regular_commit.cherry_pick_message(project, 'master')).to include("\n\n(cherry picked from commit 88790590ed1337ab189bccaa355f068481c90bec)") } + let(:commit) { project.commit('video') } + + it { expect(commit.cherry_pick_message(user)).to include("\n\n(cherry picked from commit 88790590ed1337ab189bccaa355f068481c90bec)") } end context 'of a merge commit' do + let(:repository) { project.repository } + + let(:commit_options) do + author = repository.user_to_committer(user) + commit_options = { message: 'Test message', committer: author, author: author } + end + + let(:merge_commit) do + merge_request = create(:merge_request, + source_branch: 'feature', + target_branch: 'master', + source_project: project, + author: user) + + merge_commit_id = repository.merge(user, + merge_request.diff_head_sha, + merge_request, + commit_options) + + merge_commit = repository.commit(merge_commit_id) + + # Manually mark as completed. + # + merge_request.update(merge_commit_sha: merge_commit_id) + + merge_commit + end + it do expected_appended_text = <<~STR.rstrip + (cherry picked from commit #{merge_commit.sha}) - (cherry picked from commit b9238ee5bf1d7359dd3b8c89fd76c1c7f8b75aba) - - 6d664995 This commit will be fixupped against - 64117577 fixup! This commit will be fixupped against + 0b4bc9a4 Feature added STR - expect(merge_commit.cherry_pick_message(project, 'master')).to include(expected_appended_text) + expect(merge_commit.cherry_pick_message(user)).to include(expected_appended_text) end end end diff --git a/spec/requests/api/commits_spec.rb b/spec/requests/api/commits_spec.rb index 1fba7fcc10a..57baf9cd3b3 100644 --- a/spec/requests/api/commits_spec.rb +++ b/spec/requests/api/commits_spec.rb @@ -791,7 +791,7 @@ describe API::Commits do expect(response).to have_gitlab_http_status(201) expect(response).to match_response_schema('public_api/v4/commit/basic') expect(json_response['title']).to eq(commit.title) - expect(json_response['message']).to eq(commit.cherry_pick_message(project, branch)) + expect(json_response['message']).to eq(commit.cherry_pick_message(user)) expect(json_response['author_name']).to eq(commit.author_name) expect(json_response['committer_name']).to eq(user.name) end diff --git a/spec/requests/api/v3/commits_spec.rb b/spec/requests/api/v3/commits_spec.rb index 9edf21719cd..8fb96b3c7c5 100644 --- a/spec/requests/api/v3/commits_spec.rb +++ b/spec/requests/api/v3/commits_spec.rb @@ -474,7 +474,7 @@ describe API::V3::Commits do expect(response).to have_http_status(201) expect(json_response['title']).to eq(master_pickable_commit.title) - expect(json_response['message']).to eq(master_pickable_commit.cherry_pick_message(project, 'master')) + expect(json_response['message']).to eq(master_pickable_commit.cherry_pick_message(user)) expect(json_response['author_name']).to eq(master_pickable_commit.author_name) expect(json_response['committer_name']).to eq(user.name) end From b4622c772ed1fb6974b0e5f39890978d48ad77da Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Fri, 18 Aug 2017 08:30:14 +0200 Subject: [PATCH 08/14] Remove redundant statement part in a test suite --- spec/models/commit_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 98054b91c29..8fc2a30e3ad 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -209,7 +209,7 @@ eos let(:commit_options) do author = repository.user_to_committer(user) - commit_options = { message: 'Test message', committer: author, author: author } + { message: 'Test message', committer: author, author: author } end let(:merge_commit) do From 9ec358af7bfe95c90d1c3c3fdd1db8a3a69c11ed Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Mon, 21 Aug 2017 20:47:18 +0200 Subject: [PATCH 09/14] Reverse order of commits in MR cherry-pick message Also improved the UT for better documenting this change. --- app/models/commit.rb | 2 +- spec/models/commit_spec.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 5f59d088cd2..78e67c09d93 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -260,7 +260,7 @@ class Commit if commits_in_merge_request.present? message_buffer << "\n" - commits_in_merge_request.each do |commit_in_merge| + commits_in_merge_request.reverse.each do |commit_in_merge| message_buffer << "\n#{commit_in_merge.short_id} #{commit_in_merge.title}" end end diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 8fc2a30e3ad..25de444da11 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -214,7 +214,7 @@ eos let(:merge_commit) do merge_request = create(:merge_request, - source_branch: 'feature', + source_branch: 'video', target_branch: 'master', source_project: project, author: user) @@ -238,7 +238,8 @@ eos (cherry picked from commit #{merge_commit.sha}) - 0b4bc9a4 Feature added + 467dc98f Add new 'videos' directory + 88790590 Upload new video file STR expect(merge_commit.cherry_pick_message(user)).to include(expected_appended_text) From 83417865d06226d23edde69cf98b3d3b88aff07f Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Mon, 21 Aug 2017 20:50:48 +0200 Subject: [PATCH 10/14] Change a variable name in Commit#cherry_pick_description --- app/models/commit.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 78e67c09d93..d8670f13f28 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -252,21 +252,21 @@ class Commit end def cherry_pick_description(user) - message_buffer = "(cherry picked from commit #{sha})" + message_body = "(cherry picked from commit #{sha})" if merged_merge_request?(user) commits_in_merge_request = merged_merge_request(user).commits if commits_in_merge_request.present? - message_buffer << "\n" + message_body << "\n" commits_in_merge_request.reverse.each do |commit_in_merge| - message_buffer << "\n#{commit_in_merge.short_id} #{commit_in_merge.title}" + message_body << "\n#{commit_in_merge.short_id} #{commit_in_merge.title}" end end end - message_buffer + message_body end def cherry_pick_message(user) From e6220c018eec5a9fdf2491651b00863c5b8a54c0 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Mon, 21 Aug 2017 21:05:11 +0200 Subject: [PATCH 11/14] Add UT for cherry-pick of an existing merge that is not found --- spec/models/commit_spec.rb | 51 +++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 25de444da11..d35eeae00f3 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -212,39 +212,50 @@ eos { message: 'Test message', committer: author, author: author } end - let(:merge_commit) do - merge_request = create(:merge_request, - source_branch: 'video', - target_branch: 'master', - source_project: project, - author: user) + let(:merge_request) do + create(:merge_request, + source_branch: 'video', + target_branch: 'master', + source_project: project, + author: user) + end + let(:merge_commit) do merge_commit_id = repository.merge(user, merge_request.diff_head_sha, merge_request, commit_options) - merge_commit = repository.commit(merge_commit_id) - - # Manually mark as completed. - # - merge_request.update(merge_commit_sha: merge_commit_id) - - merge_commit + repository.commit(merge_commit_id) end - it do - expected_appended_text = <<~STR.rstrip + context 'that is found' do + before do + # Artificially mark as completed. + merge_request.update(merge_commit_sha: merge_commit.id) + end - (cherry picked from commit #{merge_commit.sha}) + it do + expected_appended_text = <<~STR.rstrip - 467dc98f Add new 'videos' directory - 88790590 Upload new video file - STR + (cherry picked from commit #{merge_commit.sha}) - expect(merge_commit.cherry_pick_message(user)).to include(expected_appended_text) + 467dc98f Add new 'videos' directory + 88790590 Upload new video file + STR + + expect(merge_commit.cherry_pick_message(user)).to include(expected_appended_text) + end end + + context "that is existing but not found (eg. it's in progress)" do + it do + expect(merge_commit.cherry_pick_message(user)).to end_with("(cherry picked from commit #{merge_commit.sha})") + end + end + end + end describe '#reverts_commit?' do From 7a8a8e07648091f778cafe9fcbc290316ae82e9d Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Mon, 21 Aug 2017 22:13:41 +0200 Subject: [PATCH 12/14] Fix rubocop errors in spec/models/commit_spec.rb --- spec/models/commit_spec.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index d35eeae00f3..6fbd58f1d84 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -253,9 +253,7 @@ eos expect(merge_commit.cherry_pick_message(user)).to end_with("(cherry picked from commit #{merge_commit.sha})") end end - end - end describe '#reverts_commit?' do From e07c0c0e2376040da65ce636b94be0884c465780 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Tue, 22 Aug 2017 09:31:57 +0200 Subject: [PATCH 13/14] Add changelog entry --- .../unreleased/sm-cherry-pick-list-commits-in-message.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml diff --git a/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml b/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml new file mode 100644 index 00000000000..602ca358b8b --- /dev/null +++ b/changelogs/unreleased/sm-cherry-pick-list-commits-in-message.yml @@ -0,0 +1,5 @@ +--- +title: Add 'from commit' information to cherry-picked commits +merge_request: 13475 +author: Saverio Miroddi +type: added From 934eef72902d6e753f47f7f8dbc42959c399ad09 Mon Sep 17 00:00:00 2001 From: Saverio Miroddi Date: Tue, 22 Aug 2017 22:20:22 +0200 Subject: [PATCH 14/14] Improve description of a Commit#cherry_pick_message UT --- spec/models/commit_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 6fbd58f1d84..11e64a0f877 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -248,8 +248,8 @@ eos end end - context "that is existing but not found (eg. it's in progress)" do - it do + context "that is existing but not found" do + it 'does not include details of the merged commits' do expect(merge_commit.cherry_pick_message(user)).to end_with("(cherry picked from commit #{merge_commit.sha})") end end