{% extends "base.html" %} {% from "partials/css_helpers.html" import thread_status_badge, protection_status_badge, review_status_badge, approver_badge %} {% block content %}
{% include "partials/repo_heading.html" %} {% set repo_tab = "pulls" %} {% set compare_path = repo_path ~ "/compare" %} {% include "partials/repo_tabs.html" %}

#{{ pull.number }} {{ pull.title }}

{{ pull.status }} {% if current_user and can_merge_pull %} {% if merge_blocked %} {% else %}
{% if pull_target_oid %} {% endif %} {% if pull_source_oid %} {% endif %} {% if merge_requires_message %}
This message will be used for the merge commit created on the target branch.
{% endif %}
{% endif %} {% endif %} {% if current_user and can_edit_content and pull.status != "merged" %} Edit {% endif %} {% if current_user and pull.status == "open" %} {% set review_action_name = "edit" if pull_review_form.is_update else "new" %}
{% endif %}
{% if current_user and can_merge_pull and merge_blocked %}
{{ merge_blocked_reason }}
{% endif %}
Opened by {% with user_link_href = "/" ~ created_by.username, user_link_username = created_by.username, user_link_label = created_by.username, user_link_class = "fw-semibold text-decoration-none" %} {% include "partials/hover_card_user_link.html" %} {% endwith %} {{ pull.created_at | humantime }}
{% include "partials/flash.html" %} {% if tab == "detail" %}
{% if source_repo_path %} {{ source_repo_label }} {% else %} {{ source_repo_label }} {% endif %}:{{ pull.source_ref }} {{ owner_slug }}/{{ repo.slug }}:{{ pull.target_ref }}
{% if pull.body and pull.body | trim != "" %}
{{ pull.body | markdown | linkify(is_private=linkify_is_private, current_team_slug=linkify_current_team_slug) }}
{% endif %} {% if source_branch_advanced_after_merge %} {% endif %} {% if linked_threads | length > 0 %}
{% for related_thread in linked_threads %}
From thread #{{ related_thread.number }} {{ related_thread.title }} {{ related_thread.status }}
{% endfor %}
{% endif %}
{% endif %} {% if merge_error %} {% if merge_error.kind == "fast_forward_required" %} {% elif merge_error.kind == "content_conflict" %} {% else %} {% endif %} {% endif %} {% if tab == "protection" and pull_protections | length > 0 %}
Branch Protection
Rules matching {{ pull.target_ref }}
{{ pull_protections | length }} rule{% if pull_protections | length != 1 %}s{% endif %}
{% if pull_creator_ping_form %}
Ping Pull Creator
Send a direct ping to {% with user_link_href = "/" ~ created_by.username, user_link_username = created_by.username, user_link_label = "@" ~ created_by.username, user_link_class = "fw-semibold text-decoration-none" %} {% include "partials/hover_card_user_link.html" %} {% endwith %} about the failing protection checks.
{% endif %} {% for protection in pull_protections %}
{{ protection.pattern }}
{% if protection.trusted_approvers | length > 0 %} Trusted approvers: {% for username in protection.trusted_approvers %} {% with user_link_href = "/" ~ username, user_link_username = username, user_link_label = username, user_link_class = "text-decoration-none" %} {% include "partials/hover_card_user_link.html" %} {% endwith %}{% if not loop.last %}, {% endif %} {% endfor %} {% else %} {{ protection.summary }} {% endif %}
{{ protection.status }}
{% for check in protection.checks %}
{{ check.label }} {{ check.status }}
{{ check.detail }}
{% endfor %}
{% endfor %}
{% endif %} {% if tab == "reviews" %}
Reviews
Latest review per user, sorted by recent activity.
{{ reviews_total }} review{% if reviews_total != 1 %}s{% endif %}
{% if current_user %} {% if my_review %}
{% if review_action == "edit" %} {% set is_update = true %} {% set status = pull_review_form.status %} {% set body = pull_review_form.body %} {% set next = pull_review_form.next %} {% set pull_number = pull.number %} {% set can_submit_approved = review_can_submit_approved %} {% set approved_disabled_reason = review_approved_disabled_reason %} {% include "partials/repo_pull_review_form.html" %} {% else %}
Your Review
Edit
{% with user_link_href = my_review.href, user_link_username = my_review.username, user_link_label = my_review.username, user_link_class = "fw-semibold text-decoration-none" %} {% include "partials/hover_card_user_link.html" %} {% endwith %} {% if my_review.approver_role %} {% if my_review.approver_role == "trusted" %}Trusted Approver{% else %}Eligible Approver{% endif %} {% endif %} {{ my_review.status_label }}
{% if my_review.updated_at %} {{ my_review.updated_at | humantime }} {% else %} {{ my_review.created_at | humantime }} {% endif %}
{% if my_review.body and my_review.body | trim != "" %}
{{ my_review.body | markdown | linkify(is_private=linkify_is_private, current_team_slug=linkify_current_team_slug) }}
{% else %}
No review body.
{% endif %} {% endif %}
{% else %}
{% if review_action == "new" %} {% set is_update = false %} {% set status = "open" %} {% set body = "" %} {% set next = pull_review_form.next %} {% set pull_number = pull.number %} {% set can_submit_approved = review_can_submit_approved %} {% set approved_disabled_reason = review_approved_disabled_reason %} {% include "partials/repo_pull_review_form.html" %} {% else %} New Review {% endif %}
{% endif %} {% else %}
Sign in to review this pull
Open, approved, changes requested, and closed reviews are all managed from this page.
Sign In
{% endif %} {% if pull_reviews.results | length == 0 %} {% if not my_review %}

No reviews yet.

{% endif %} {% else %}
{% for review in pull_reviews.results %}
{% with user_link_href = review.href, user_link_username = review.username, user_link_label = review.username, user_link_class = "fw-semibold text-decoration-none" %} {% include "partials/hover_card_user_link.html" %} {% endwith %} {% if review.approver_role %} {% if review.approver_role == "trusted" %}Trusted Approver{% else %}Eligible Approver{% endif %} {% endif %} {{ review.status_label }}
{% if review.updated_at %} {{ review.updated_at | humantime }} {% else %} {{ review.created_at | humantime }} {% endif %}
{% if review.body and review.body | trim != "" %}
{{ review.body | markdown | linkify(is_private=linkify_is_private, current_team_slug=linkify_current_team_slug) }}
{% else %}
No review body.
{% endif %}
{% endfor %}
{% endif %}
{% with page=pull_reviews, query=reviews_query, per_page_id="pull-review-per-page", per_page_form="pull-review-filters" %}
{% include "partials/paging_footer.html" %} {% endwith %}
{% endif %} {% if tab == "detail" %} {% if not diff_error %}
Commits in this pull
{% if pull_commits.results | length == 0 %}

No unique commits.

{% else %}
{% for commit in pull_commits.results %} {% endfor %}
Commit Author Date
{{ commit.author }} {{ commit.committed_at | humantime }}
{% endif %}
{% with page=pull_commits, query=commits_query, per_page_id="pull-commit-per-page", per_page_form="pull-commit-filters" %} {% include "partials/paging_footer.html" %} {% endwith %}
{% endif %} {% if diffs | length == 0 %} {% if diff_error %} {% else %}

No file changes to show.

{% endif %} {% else %}
{{ files_changed }} files changed, {{ insertions }} insertions(+), {{ deletions }} deletions(-)
{% for diff in diffs %} {% set diff_index = loop.index %}
{% if loop.first or diff.binary %} {% include "repo/commit_diff_body.html" %} {% else %}
Diff loads on expand.
{% endif %}
{% endfor %}
{% endif %} {% endif %}
{% endblock %} {% block scripts %} {% endblock %}