%h3.page-title New Merge Request = form_for [@project.namespace.becomes(Namespace), @project, @merge_request], url: new_namespace_project_merge_request_path(@project.namespace, @project), method: :get, html: { class: "merge-request-form form-inline js-requires-input" } do |f| .hide.alert.alert-danger.mr-compare-errors .merge-request-branches.row .col-md-6 .panel.panel-default.panel-new-merge-request .panel-heading Source branch .panel-body.clearfix .merge-request-select.dropdown = f.hidden_field :source_project_id = dropdown_toggle @merge_request.source_project_path, { toggle: "dropdown", field_name: "#{f.object_name}[source_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-source-project" } .dropdown-menu.dropdown-menu-selectable = dropdown_title("Select source project") = dropdown_filter("Search projects") = dropdown_content do %ul %li %a{ href: "#", class: "#{("is-active" if f.object.source_project_id == @merge_request.source_project.id)}", data: { id: @merge_request.source_project.id } } = @merge_request.source_project_path .merge-request-select.dropdown = f.hidden_field :source_branch = dropdown_toggle "Select source branch", { toggle: "dropdown", field_name: "#{f.object_name}[source_branch]" }, { toggle_class: "js-compare-dropdown js-source-branch" } .dropdown-menu.dropdown-menu-selectable = dropdown_title("Select source branch") = dropdown_filter("Search branches") = dropdown_content do %ul - @merge_request.source_branches.each do |branch| %li %a{ href: "#", class: "#{("is-active" if f.object.source_branch == branch)}", data: { id: branch } } = branch .panel-footer = icon('spinner spin', class: "js-source-loading") %ul.list-unstyled.mr_source_commit .col-md-6 .panel.panel-default.panel-new-merge-request .panel-heading Target branch .panel-body.clearfix - projects = @project.forked_from_project.nil? ? [@project] : [@project, @project.forked_from_project] .merge-request-select.dropdown = f.hidden_field :target_project_id = dropdown_toggle f.object.target_project.path_with_namespace, { toggle: "dropdown", field_name: "#{f.object_name}[target_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-target-project" } .dropdown-menu.dropdown-menu-selectable = dropdown_title("Select target project") = dropdown_filter("Search projects") = dropdown_content do %ul - projects.each do |project| %li %a{ href: "#", class: "#{("is-active" if f.object.target_project_id == project.id)}", data: { id: project.id } } = project.path_with_namespace .merge-request-select.dropdown = f.hidden_field :target_branch = dropdown_toggle f.object.target_branch, { toggle: "dropdown", field_name: "#{f.object_name}[target_branch]" }, { toggle_class: "js-compare-dropdown js-target-branch" } .dropdown-menu.dropdown-menu-selectable.js-target-branch-dropdown = dropdown_title("Select target branch") = dropdown_filter("Search branches") = dropdown_content do %ul - @merge_request.target_branches.each do |branch| %li %a{ href: "#", class: "#{("is-active" if f.object.target_branch == branch)}", data: { id: branch } } = branch .panel-footer = icon('spinner spin', class: "js-target-loading") %ul.list-unstyled.mr_target_commit - if @merge_request.errors.any? .alert.alert-danger - @merge_request.errors.full_messages.each do |msg| %div= msg - elsif @merge_request.source_branch.present? && @merge_request.target_branch.present? .light-well.append-bottom-default .center %h4 There isn't anything to merge. %p.slead - if @merge_request.source_branch == @merge_request.target_branch You'll need to use different branch names to get a valid comparison. - else %span.label-branch #{@merge_request.source_branch} and %span.label-branch #{@merge_request.target_branch} are the same. = f.submit 'Compare branches and continue', class: "btn btn-new mr-compare-btn" :javascript new Compare({ targetProjectUrl: "#{update_branches_namespace_project_merge_requests_path(@source_project.namespace, @source_project)}", sourceBranchUrl: "#{branch_from_namespace_project_merge_requests_path(@source_project.namespace, @source_project)}", targetBranchUrl: "#{branch_to_namespace_project_merge_requests_path(@source_project.namespace, @source_project)}" });