Revert "Merge branch 'blackst0ne-update-push-new-merge-request-url' into 'master'"
This reverts merge request !22526
This commit is contained in:
parent
0cd22a382e
commit
e0054a9ab1
25 changed files with 47 additions and 55 deletions
|
@ -86,10 +86,10 @@ module CreatesCommit
|
|||
def new_merge_request_path
|
||||
project_new_merge_request_path(
|
||||
@project_to_commit_into,
|
||||
merge_request_source_branch: @branch_name,
|
||||
merge_request: {
|
||||
source_project_id: @project_to_commit_into.id,
|
||||
target_project_id: @project.id,
|
||||
source_branch: @branch_name,
|
||||
target_branch: @start_branch
|
||||
}
|
||||
)
|
||||
|
|
|
@ -89,8 +89,6 @@ class Projects::MergeRequests::CreationsController < Projects::MergeRequests::Ap
|
|||
|
||||
def build_merge_request
|
||||
params[:merge_request] ||= ActionController::Parameters.new(source_project: @project)
|
||||
params[:merge_request][:source_branch] ||= params[:merge_request_source_branch].presence
|
||||
|
||||
@merge_request = ::MergeRequests::BuildService.new(project, current_user, merge_request_params.merge(diff_options: diff_options)).execute
|
||||
end
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ module CompareHelper
|
|||
def create_mr_path(from = params[:from], to = params[:to], project = @project)
|
||||
project_new_merge_request_path(
|
||||
project,
|
||||
merge_request_source_branch: to,
|
||||
merge_request: {
|
||||
source_branch: to,
|
||||
target_branch: from
|
||||
}
|
||||
)
|
||||
|
|
|
@ -11,10 +11,10 @@ module MergeRequestsHelper
|
|||
|
||||
def new_mr_from_push_event(event, target_project)
|
||||
{
|
||||
merge_request_source_branch: event.branch_name,
|
||||
merge_request: {
|
||||
source_project_id: event.project.id,
|
||||
target_project_id: target_project.id,
|
||||
source_branch: event.branch_name,
|
||||
target_branch: target_project.repository.root_ref
|
||||
}
|
||||
}
|
||||
|
@ -51,10 +51,10 @@ module MergeRequestsHelper
|
|||
def mr_change_branches_path(merge_request)
|
||||
project_new_merge_request_path(
|
||||
@project,
|
||||
merge_request_source_branch: merge_request.source_branch,
|
||||
merge_request: {
|
||||
source_project_id: merge_request.source_project_id,
|
||||
target_project_id: merge_request.target_project_id,
|
||||
source_branch: merge_request.source_branch,
|
||||
target_branch: merge_request.target_branch
|
||||
},
|
||||
change_branches: true
|
||||
|
|
|
@ -50,8 +50,8 @@ module MergeRequests
|
|||
end
|
||||
|
||||
def url_for_new_merge_request(branch_name)
|
||||
url = Gitlab::Routing.url_helpers.project_new_merge_request_url(project, branch_name)
|
||||
|
||||
merge_request_params = { source_branch: branch_name }
|
||||
url = Gitlab::Routing.url_helpers.project_new_merge_request_url(project, merge_request: merge_request_params)
|
||||
{ branch_name: branch_name, url: url, new_merge_request: true }
|
||||
end
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Make new merge request URL more friendly when pushing code
|
||||
merge_request: 22526
|
||||
author: "@blackst0ne"
|
||||
type: changed
|
|
@ -149,7 +149,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
scope path: 'merge_requests', controller: 'merge_requests/creations' do
|
||||
post '', action: :create, as: nil
|
||||
|
||||
scope path: 'new/(:merge_request_source_branch)', as: :new_merge_request do
|
||||
scope path: 'new', as: :new_merge_request do
|
||||
get '', action: :new
|
||||
|
||||
scope constraints: { format: nil }, action: :new do
|
||||
get :diffs, defaults: { tab: 'diffs' }
|
||||
get :pipelines, defaults: { tab: 'pipelines' }
|
||||
|
@ -163,7 +165,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
get :diff_for_path
|
||||
get :branch_from
|
||||
get :branch_to
|
||||
get '', action: :new
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -331,10 +331,10 @@ describe Projects::BlobController do
|
|||
expect(response).to redirect_to(
|
||||
project_new_merge_request_path(
|
||||
forked_project,
|
||||
merge_request_source_branch: "fork-test-1",
|
||||
merge_request: {
|
||||
source_project_id: forked_project.id,
|
||||
target_project_id: project.id,
|
||||
source_branch: "fork-test-1",
|
||||
target_branch: "master"
|
||||
}
|
||||
)
|
||||
|
|
|
@ -147,12 +147,10 @@ describe 'Dashboard Projects' do
|
|||
end
|
||||
|
||||
context 'last push widget', :use_clean_rails_memory_store_caching do
|
||||
let(:ref) { "feature" }
|
||||
|
||||
before do
|
||||
event = create(:push_event, project: project, author: user)
|
||||
|
||||
create(:push_event_payload, event: event, ref: ref, action: :created)
|
||||
create(:push_event_payload, event: event, ref: 'feature', action: :created)
|
||||
|
||||
Users::LastPushEventService.new(user).cache_last_push_event(event)
|
||||
|
||||
|
@ -167,9 +165,9 @@ describe 'Dashboard Projects' do
|
|||
end
|
||||
|
||||
expect(page).to have_selector('.merge-request-form')
|
||||
expect(current_path).to eq project_new_merge_request_path(project, merge_request_source_branch: ref)
|
||||
expect(current_path).to eq project_new_merge_request_path(project)
|
||||
expect(find('#merge_request_target_project_id', visible: false).value).to eq project.id.to_s
|
||||
expect(find('input#merge_request_source_branch', visible: false).value).to eq ref
|
||||
expect(find('input#merge_request_source_branch', visible: false).value).to eq 'feature'
|
||||
expect(find('input#merge_request_target_branch', visible: false).value).to eq 'master'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,10 +9,10 @@ describe 'create a merge request, allowing commits from members who can merge to
|
|||
def visit_new_merge_request
|
||||
visit project_new_merge_request_path(
|
||||
source_project,
|
||||
merge_request_source_branch: 'fix',
|
||||
merge_request: {
|
||||
source_project_id: source_project.id,
|
||||
target_project_id: target_project.id,
|
||||
source_branch: 'fix',
|
||||
target_branch: 'master'
|
||||
})
|
||||
end
|
||||
|
|
|
@ -20,10 +20,10 @@ describe 'Merge request > User sees merge widget', :js do
|
|||
before do
|
||||
visit project_new_merge_request_path(
|
||||
project,
|
||||
merge_request_source_branch: 'feature',
|
||||
merge_request: {
|
||||
source_project_id: project.id,
|
||||
target_project_id: project.id,
|
||||
source_branch: 'feature',
|
||||
target_branch: 'master'
|
||||
})
|
||||
end
|
||||
|
|
|
@ -13,10 +13,10 @@ describe 'Merge request > User sees WIP help message' do
|
|||
it 'shows a specific WIP hint' do
|
||||
visit project_new_merge_request_path(
|
||||
project,
|
||||
merge_request_source_branch: 'wip',
|
||||
merge_request: {
|
||||
source_project_id: project.id,
|
||||
target_project_id: project.id,
|
||||
source_branch: 'wip',
|
||||
target_branch: 'master'
|
||||
})
|
||||
|
||||
|
@ -32,10 +32,10 @@ describe 'Merge request > User sees WIP help message' do
|
|||
it 'shows the regular WIP message' do
|
||||
visit project_new_merge_request_path(
|
||||
project,
|
||||
merge_request_source_branch: 'fix',
|
||||
merge_request: {
|
||||
source_project_id: project.id,
|
||||
target_project_id: project.id,
|
||||
source_branch: 'fix',
|
||||
target_branch: 'master'
|
||||
})
|
||||
|
||||
|
|
|
@ -109,13 +109,13 @@ describe 'Merge request > User selects branches for new MR', :js do
|
|||
end
|
||||
|
||||
it 'populates source branch button' do
|
||||
visit project_new_merge_request_path(project, change_branches: true, merge_request_source_branch: 'fix', merge_request: { target_branch: 'master' })
|
||||
visit project_new_merge_request_path(project, change_branches: true, merge_request: { target_branch: 'master', source_branch: 'fix' })
|
||||
|
||||
expect(find('.js-source-branch')).to have_content('fix')
|
||||
end
|
||||
|
||||
it 'allows to change the diff view' do
|
||||
visit project_new_merge_request_path(project, merge_request_source_branch: 'fix', merge_request: { target_branch: 'master' })
|
||||
visit project_new_merge_request_path(project, merge_request: { target_branch: 'master', source_branch: 'fix' })
|
||||
|
||||
click_link 'Changes'
|
||||
|
||||
|
@ -131,7 +131,7 @@ describe 'Merge request > User selects branches for new MR', :js do
|
|||
end
|
||||
|
||||
it 'does not allow non-existing branches' do
|
||||
visit project_new_merge_request_path(project, merge_request_source_branch: 'non-exist-source', merge_request: { target_branch: 'non-exist-target' })
|
||||
visit project_new_merge_request_path(project, merge_request: { target_branch: 'non-exist-target', source_branch: 'non-exist-source' })
|
||||
|
||||
expect(page).to have_content('The form contains the following errors')
|
||||
expect(page).to have_content('Source branch "non-exist-source" does not exist')
|
||||
|
@ -140,7 +140,7 @@ describe 'Merge request > User selects branches for new MR', :js do
|
|||
|
||||
context 'when a branch contains commits that both delete and add the same image' do
|
||||
it 'renders the diff successfully' do
|
||||
visit project_new_merge_request_path(project, merge_request_source_branch: 'deleted-image-test', merge_request: { target_branch: 'master' })
|
||||
visit project_new_merge_request_path(project, merge_request: { target_branch: 'master', source_branch: 'deleted-image-test' })
|
||||
|
||||
click_link "Changes"
|
||||
|
||||
|
@ -165,8 +165,7 @@ describe 'Merge request > User selects branches for new MR', :js do
|
|||
it 'shows pipelines for a new merge request' do
|
||||
visit project_new_merge_request_path(
|
||||
project,
|
||||
merge_request_source_branch: 'fix',
|
||||
merge_request: { target_branch: 'master' })
|
||||
merge_request: { target_branch: 'master', source_branch: 'fix' })
|
||||
|
||||
page.within('.merge-request') do
|
||||
click_link 'Pipelines'
|
||||
|
|
|
@ -144,7 +144,7 @@ describe 'Merge request > User uses quick actions', :js do
|
|||
|
||||
describe '/target_branch command in merge request' do
|
||||
let(:another_project) { create(:project, :public, :repository) }
|
||||
let(:new_url_opts) { { merge_request_source_branch: 'feature' } }
|
||||
let(:new_url_opts) { { merge_request: { source_branch: 'feature' } } }
|
||||
|
||||
before do
|
||||
another_project.add_maintainer(user)
|
||||
|
|
|
@ -65,7 +65,7 @@ describe 'User squashes a merge request', :js do
|
|||
|
||||
context 'when squash is enabled on merge request creation' do
|
||||
before do
|
||||
visit project_new_merge_request_path(project, merge_request_source_branch: source_branch, merge_request: { target_branch: 'master' })
|
||||
visit project_new_merge_request_path(project, merge_request: { target_branch: 'master', source_branch: source_branch })
|
||||
check 'merge_request[squash]'
|
||||
click_on 'Submit merge request'
|
||||
wait_for_requests
|
||||
|
@ -95,7 +95,7 @@ describe 'User squashes a merge request', :js do
|
|||
|
||||
context 'when squash is not enabled on merge request creation' do
|
||||
before do
|
||||
visit project_new_merge_request_path(project, merge_request_source_branch: source_branch, merge_request: { target_branch: 'master' })
|
||||
visit project_new_merge_request_path(project, merge_request: { target_branch: 'master', source_branch: source_branch })
|
||||
click_on 'Submit merge request'
|
||||
wait_for_requests
|
||||
end
|
||||
|
|
|
@ -57,7 +57,7 @@ describe 'Projects > Files > User creates a directory', :js do
|
|||
expect(page).to have_content('From new-feature into master')
|
||||
expect(page).to have_content('Add new directory')
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(project, merge_request_source_branch: "new-feature"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(project))
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -80,7 +80,8 @@ describe 'Projects > Files > User creates a directory', :js do
|
|||
click_button('Create directory')
|
||||
|
||||
fork = user.fork_of(project2.reload)
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "patch-1"))
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -144,7 +144,7 @@ describe 'Projects > Files > User creates files' do
|
|||
fill_in(:branch_name, with: 'new_branch_name', visible: true)
|
||||
click_button('Commit changes')
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(project, merge_request_source_branch: "new_branch_name"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(project))
|
||||
|
||||
click_link('Changes')
|
||||
|
||||
|
@ -182,7 +182,7 @@ describe 'Projects > Files > User creates files' do
|
|||
|
||||
fork = user.fork_of(project2.reload)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "patch-1"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
expect(page).to have_content('New commit message')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -63,7 +63,7 @@ describe 'Projects > Files > User deletes files', :js do
|
|||
|
||||
fork = user.fork_of(project2.reload)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "patch-1"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
expect(page).to have_content('New commit message')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -86,7 +86,7 @@ describe 'Projects > Files > User edits files', :js do
|
|||
fill_in(:branch_name, with: 'new_branch_name', visible: true)
|
||||
click_button('Commit changes')
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(project, merge_request_source_branch: "new_branch_name"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(project))
|
||||
|
||||
click_link('Changes')
|
||||
|
||||
|
@ -155,7 +155,7 @@ describe 'Projects > Files > User edits files', :js do
|
|||
|
||||
fork = user.fork_of(project2.reload)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "patch-1"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
|
||||
wait_for_requests
|
||||
|
||||
|
@ -183,7 +183,7 @@ describe 'Projects > Files > User edits files', :js do
|
|||
|
||||
fork = user.fork_of(project2)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "patch-1"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
|
||||
wait_for_requests
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ describe 'Projects > Files > User replaces files', :js do
|
|||
|
||||
fork = user.fork_of(project2.reload)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "undefined"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
|
||||
click_link('Changes')
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ describe 'Projects > Files > User uploads files' do
|
|||
click_button('Upload file')
|
||||
|
||||
expect(page).to have_content('New commit message')
|
||||
expect(current_path).to eq(project_new_merge_request_path(project, merge_request_source_branch: "new_branch_name"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(project))
|
||||
|
||||
click_link('Changes')
|
||||
find("a[data-action='diffs']", text: 'Changes').click
|
||||
|
@ -92,7 +92,7 @@ describe 'Projects > Files > User uploads files' do
|
|||
|
||||
fork = user.fork_of(project2.reload)
|
||||
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork, merge_request_source_branch: "undefined"))
|
||||
expect(current_path).to eq(project_new_merge_request_path(fork))
|
||||
|
||||
find("a[data-action='diffs']", text: 'Changes').click
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@ describe 'Merge Request button' do
|
|||
|
||||
it 'shows Create merge request button' do
|
||||
href = project_new_merge_request_path(project,
|
||||
merge_request_source_branch: 'feature',
|
||||
merge_request: { target_branch: 'master' })
|
||||
merge_request: { source_branch: 'feature',
|
||||
target_branch: 'master' })
|
||||
|
||||
visit url
|
||||
|
||||
|
@ -77,8 +77,8 @@ describe 'Merge Request button' do
|
|||
|
||||
it 'shows Create merge request button' do
|
||||
href = project_new_merge_request_path(forked_project,
|
||||
merge_request_source_branch: 'feature',
|
||||
merge_request: { target_branch: 'master' })
|
||||
merge_request: { source_branch: 'feature',
|
||||
target_branch: 'master' })
|
||||
|
||||
visit fork_url
|
||||
|
||||
|
|
|
@ -683,7 +683,7 @@ describe API::Internal do
|
|||
|
||||
expect(json_response).to match [{
|
||||
"branch_name" => "new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new/new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch",
|
||||
"new_merge_request" => true
|
||||
}]
|
||||
end
|
||||
|
@ -704,7 +704,7 @@ describe API::Internal do
|
|||
|
||||
expect(json_response).to match [{
|
||||
"branch_name" => "new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new/new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch",
|
||||
"new_merge_request" => true
|
||||
}]
|
||||
end
|
||||
|
@ -837,7 +837,7 @@ describe API::Internal do
|
|||
|
||||
expect(json_response['merge_request_urls']).to match [{
|
||||
"branch_name" => "new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new/new_branch",
|
||||
"url" => "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch",
|
||||
"new_merge_request" => true
|
||||
}]
|
||||
end
|
||||
|
|
|
@ -6,7 +6,7 @@ describe MergeRequests::GetUrlsService do
|
|||
let(:project) { create(:project, :public, :repository) }
|
||||
let(:service) { described_class.new(project) }
|
||||
let(:source_branch) { "merge-test" }
|
||||
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new/#{source_branch}" }
|
||||
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new?merge_request%5Bsource_branch%5D=#{source_branch}" }
|
||||
let(:show_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/#{merge_request.iid}" }
|
||||
let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/#{source_branch}" }
|
||||
let(:deleted_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 #{Gitlab::Git::BLANK_SHA} refs/heads/#{source_branch}" }
|
||||
|
@ -117,7 +117,7 @@ describe MergeRequests::GetUrlsService do
|
|||
let(:new_branch_changes) { "#{Gitlab::Git::BLANK_SHA} 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/new_branch" }
|
||||
let(:existing_branch_changes) { "d14d6c0abdd253381df51a723d58691b2ee1ab08 570e7b2abdd848b95f2f578043fc23bd6f6fd24d refs/heads/markdown" }
|
||||
let(:changes) { "#{new_branch_changes}\n#{existing_branch_changes}" }
|
||||
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new/new_branch" }
|
||||
let(:new_merge_request_url) { "http://#{Gitlab.config.gitlab.host}/#{project.namespace.name}/#{project.path}/merge_requests/new?merge_request%5Bsource_branch%5D=new_branch" }
|
||||
|
||||
it 'returns 2 urls for both creating new and showing merge request' do
|
||||
result = service.execute(changes)
|
||||
|
|
|
@ -17,10 +17,10 @@ RSpec.shared_examples 'a creatable merge request' do
|
|||
sign_in(user)
|
||||
visit project_new_merge_request_path(
|
||||
target_project,
|
||||
merge_request_source_branch: 'fix',
|
||||
merge_request: {
|
||||
source_project_id: source_project.id,
|
||||
target_project_id: target_project.id,
|
||||
source_branch: 'fix',
|
||||
target_branch: 'master'
|
||||
})
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue