From c96075da4397e0107ad6dd1090c3ccb208a00757 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 28 Feb 2017 15:56:40 +0000 Subject: [PATCH 1/2] Fixes source branch not sent in URL after reverting commit This was causing an issue with the new merge request page showing an error when there was actually no error. Closes #28426 --- app/controllers/concerns/creates_commit.rb | 1 + app/services/commits/change_service.rb | 2 +- .../revert-commit-source-branch.yml | 4 ++++ spec/features/projects/commit/revert_spec.rb | 24 +++++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/revert-commit-source-branch.yml create mode 100644 spec/features/projects/commit/revert_spec.rb diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index 2fe03020d2d2..1182ea4c7e5d 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -15,6 +15,7 @@ def create_commit(service, success_path:, failure_path:, failure_view: nil, succ @mr_source_project, current_user, commit_params).execute if result[:status] == :success + @mr_source_branch = result[:source_branch] update_flash_notice(success_notice) respond_to do |format| diff --git a/app/services/commits/change_service.rb b/app/services/commits/change_service.rb index 25e22f14e60b..44221dacc5e8 100644 --- a/app/services/commits/change_service.rb +++ b/app/services/commits/change_service.rb @@ -48,7 +48,7 @@ def commit_change(action) start_project: @start_project, start_branch_name: @start_branch) - success + success.merge(source_branch: into) else error_msg = "Sorry, we cannot #{action.to_s.dasherize} this #{@commit.change_type_title(current_user)} automatically. A #{action.to_s.dasherize} may have already been performed with this #{@commit.change_type_title(current_user)}, or a more recent commit may have updated some of its content." diff --git a/changelogs/unreleased/revert-commit-source-branch.yml b/changelogs/unreleased/revert-commit-source-branch.yml new file mode 100644 index 000000000000..1292bda73aff --- /dev/null +++ b/changelogs/unreleased/revert-commit-source-branch.yml @@ -0,0 +1,4 @@ +--- +title: Fixed revert commit not correctly taking user to new merge request form +merge_request: +author: diff --git a/spec/features/projects/commit/revert_spec.rb b/spec/features/projects/commit/revert_spec.rb new file mode 100644 index 000000000000..bbe37b6ccfa5 --- /dev/null +++ b/spec/features/projects/commit/revert_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe 'Revert Commits', :js do + let(:project) { create(:project) } + + before do + login_as :user + project.team << [@user, :master] + + visit namespace_project_commit_path(project.namespace, project, project.commit.sha) + end + + it 'creates merge request for revert' do + page.within '.header-action-buttons' do + find('.dropdown-toggle').click + end + + click_link 'Revert' + + click_button 'Revert' + + expect(page).to have_content("From revert-#{project.commit.short_id} into master") + end +end -- GitLab From b911bec2e94ccfd02eb1b0bac721116e995402fb Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Wed, 1 Mar 2017 11:34:24 +0000 Subject: [PATCH 2/2] Fixed up tests --- app/controllers/concerns/creates_commit.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/concerns/creates_commit.rb b/app/controllers/concerns/creates_commit.rb index 1182ea4c7e5d..9a3d118d04b3 100644 --- a/app/controllers/concerns/creates_commit.rb +++ b/app/controllers/concerns/creates_commit.rb @@ -15,7 +15,7 @@ def create_commit(service, success_path:, failure_path:, failure_view: nil, succ @mr_source_project, current_user, commit_params).execute if result[:status] == :success - @mr_source_branch = result[:source_branch] + @mr_source_branch = result[:source_branch] if result[:source_branch] update_flash_notice(success_notice) respond_to do |format| -- GitLab