- merged = local_assigns.fetch(:merged, false) - commit = @repository.commit(branch.dereferenced_target) - related_merge_request = @related_merge_requests[branch.name]&.first - mr_status = merge_request_status(related_merge_request) - is_default_branch = branch.name == @repository.root_ref %li{ class: "branch-item gl-display-flex! gl-align-items-center! js-branch-item js-branch-#{branch.name} gl-pl-3!", data: { name: branch.name, qa_selector: 'branch_container', qa_name: branch.name } } .branch-info .gl-display-flex.gl-align-items-center = link_to project_tree_path(@project, branch.name), class: 'item-title str-truncated-100 ref-name', data: { qa_selector: 'branch_link' } do = branch.name = clipboard_button(text: branch.name, title: _("Copy branch name")) - if is_default_branch = gl_badge_tag s_('DefaultBranchLabel|default'), { variant: :neutral, size: :sm }, { class: 'gl-ml-2', data: { qa_selector: 'badge_content' } } - if protected_branch?(@project, branch) = gl_badge_tag s_('Branches|protected'), { variant: :muted, size: :sm }, { class: 'gl-ml-2', data: { qa_selector: 'badge_content' } } = render_if_exists 'projects/branches/diverged_from_upstream', branch: branch .block-truncated - if commit = render 'projects/branches/commit', commit: commit, project: @project - else = s_('Branches|Can’t find HEAD commit for this branch') - if branch.name != @repository.root_ref .js-branch-divergence-graph .pipeline-status.d-none.d-md-block< - if commit_status = render 'ci/status/icon', size: 16, status: commit_status, option_css_classes: 'gl-display-inline-flex gl-vertical-align-middle gl-mr-5' - elsif show_commit_status .gl-display-inline-flex.gl-vertical-align-middle.gl-mr-5 %svg.s16 - if mr_status.present? .issuable-reference.gl-display-flex.gl-justify-content-end.gl-min-w-10.gl-ml-5.gl-mr-4 = gl_badge_tag issuable_reference(related_merge_request), { icon: mr_status[:icon], variant: mr_status[:variant], size: :md, href: merge_request_path(related_merge_request) }, { class: 'gl-mr-2', title: mr_status[:title], data: { toggle: 'tooltip', container: 'body', qa_selector: 'badge_content' } } .controls.d-none.d-md-block< - if mr_status.nil? && create_mr_button?(from: branch.name, source_project: @project) = render Pajamas::ButtonComponent.new(icon: 'merge-request', href: create_mr_path(from: branch.name, source_project: @project), button_options: { class: 'has-tooltip gl-mr-2!', title: _('New merge request') }) do = _('New') = render 'projects/buttons/download', project: @project, ref: branch.name, pipeline: @refs_pipelines[branch.name], css_class: 'gl-mr-1!' - if !is_default_branch .js-branch-more-actions{ data: { branch_name: branch.name, default_branch_name: @repository.root_ref, can_delete_branch: user_access(@project).can_delete_branch?(branch.name).to_s, is_protected_branch: protected_branch?(@project, branch).to_s, merged: merged.to_s, compare_path: project_compare_index_path(@project, from: @repository.root_ref, to: branch.name), delete_path: project_branch_path(@project, branch.name), } } - else .gl-display-inline-flex.gl-w-7