{{if .Issue.PullRequest.HasMerged}}
{{else if .Issue.PullRequest.IsChecking}}
{{end}}
{{if and (or $.IsRepoAdmin (not $notAllOverridableChecksOk)) (or (not .AllowMerge) (not .RequireSigned) .WillSign)}}
{{if .AllowMerge}}
{{$prUnit := .Repository.MustGetUnit $.UnitTypePullRequests}}
{{$approvers := .Issue.PullRequest.GetApprovers}}
{{if or $prUnit.PullRequestsConfig.AllowMerge $prUnit.PullRequestsConfig.AllowRebase $prUnit.PullRequestsConfig.AllowRebaseMerge $prUnit.PullRequestsConfig.AllowSquash}}
{{if $prUnit.PullRequestsConfig.AllowMerge}}
{{end}}
{{if $prUnit.PullRequestsConfig.AllowRebase}}
{{end}}
{{if $prUnit.PullRequestsConfig.AllowRebaseMerge}}
{{end}}
{{if $prUnit.PullRequestsConfig.AllowSquash}}
{{end}}
{{if and $prUnit.PullRequestsConfig.AllowManualMerge $.IsRepoAdmin}}
{{end}}
{{end}}
{{if $.StillCanManualMerge}}
{{end}}
{{if .Issue.PullRequest.MergedCommitID}}
{{$link := printf "%s/commit/%s" $.Repository.HTMLURL .Issue.PullRequest.MergedCommitID}}
{{if eq $.Issue.PullRequest.Status 3}}
{{$.i18n.Tr "repo.pulls.manually_merged_as" $link (ShortSha .Issue.PullRequest.MergedCommitID) | Safe}}
{{else}}
{{$.i18n.Tr "repo.pulls.merged_as" $link (ShortSha .Issue.PullRequest.MergedCommitID) | Safe}}
{{end}}
{{else}}
{{$.i18n.Tr "repo.pulls.has_merged"}}
{{end}}
{{if .IsPullBranchDeletable}}
{{end}}
{{else if .Issue.IsClosed}}
{{if .IsPullRequestBroken}}
{{$.i18n.Tr "repo.pulls.cant_reopen_deleted_branch"}}
{{else}}
{{$.i18n.Tr "repo.pulls.reopen_to_merge"}}
{{end}}
{{if and .IsPullBranchDeletable ( not .IsPullRequestBroken )}}
{{end}}
{{else if .IsPullFilesConflicted}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.files_conflicted"}}
{{range .ConflictedFiles}}
{{else if .IsPullRequestBroken}}
{{.}}
{{end}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.data_broken"}}
{{else if .IsPullWorkInProgress}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.cannot_merge_work_in_progress" }}
{{if or .HasIssuesOrPullsWritePermission .IsIssuePoster}}
{{end}}
{{svg "octicon-sync"}}
{{$.i18n.Tr "repo.pulls.is_checking"}}
{{else if .Issue.PullRequest.IsEmpty}}
{{svg "octicon-alert" 16}}
{{$.i18n.Tr "repo.pulls.is_empty"}}
{{else if .Issue.PullRequest.CanAutoMerge}}
{{if .IsBlockedByApprovals}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
{{else if .IsBlockedByRejection}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
{{else if .IsBlockedByOfficialReviewRequests}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_official_review_requests"}}
{{else if .IsBlockedByOutdatedBranch}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_outdated_branch"}}
{{else if .IsBlockedByChangedProtectedFiles}}
{{svg "octicon-x" 16}}
{{$.i18n.Tr (TrN $.i18n.Lang $.ChangedProtectedFilesNum "repo.pulls.blocked_by_changed_protected_files_1" "repo.pulls.blocked_by_changed_protected_files_n") | Safe }}
{{else if and .EnableStatusCheck (or .RequiredStatusCheckState.IsError .RequiredStatusCheckState.IsFailure)}}
{{range .ChangedProtectedFiles}}
{{.}}
{{end}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
{{else if and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess)}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.required_status_check_missing"}}
{{else if and .AllowMerge .RequireSigned (not .WillSign)}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.require_signed_wont_sign"}}
{{$.i18n.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason) }}
{{end}}
{{$notAllOverridableChecksOk := or .IsBlockedByApprovals .IsBlockedByRejection .IsBlockedByOfficialReviewRequests .IsBlockedByOutdatedBranch .IsBlockedByChangedProtectedFiles (and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess))}}
{{if and (or $.IsRepoAdmin (not $notAllOverridableChecksOk)) (or (not .AllowMerge) (not .RequireSigned) .WillSign)}}
{{if $notAllOverridableChecksOk}}
{{svg "octicon-dot-fill"}}
{{$.i18n.Tr "repo.pulls.required_status_check_administrator"}}
{{else}}
{{svg "octicon-check"}}
{{$.i18n.Tr "repo.pulls.can_auto_merge_desc"}}
{{end}}
{{if .WillSign}}
{{$.i18n.Tr "repo.signing.will_sign" .SigningKey}}
{{else if .IsSigned}}
{{$.i18n.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason) }}
{{end}}
{{end}}
{{$canAutoMerge = true}}
{{if (gt .Issue.PullRequest.CommitsBehind 0)}}
{{svg "octicon-alert"}}
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
{{if and .UpdateAllowed .UpdateByRebaseAllowed }}
{{end}}
{{if and .UpdateAllowed (not .UpdateByRebaseAllowed)}}
{{end}}
{{$.i18n.Tr "repo.pulls.merge_instruction_hint" | Safe}}
{{else}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.no_merge_desc"}}
{{svg "octicon-info"}}
{{$.i18n.Tr "repo.pulls.no_merge_helper"}}
{{end}}
{{else}}
{{svg "octicon-info"}}
{{$.i18n.Tr "repo.pulls.no_merge_access"}}
{{end}}
{{end}}
{{else}}
{{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}}
{{if .IsBlockedByApprovals}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
{{else if .IsBlockedByRejection}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
{{else if .IsBlockedByOfficialReviewRequests}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_official_review_requests"}}
{{else if .IsBlockedByOutdatedBranch}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.blocked_by_outdated_branch"}}
{{else if .IsBlockedByChangedProtectedFiles}}
{{svg "octicon-x" 16}}
{{$.i18n.Tr (TrN $.i18n.Lang $.ChangedProtectedFilesNum "repo.pulls.blocked_by_changed_protected_files_1" "repo.pulls.blocked_by_changed_protected_files_n") | Safe }}
{{else if and .EnableStatusCheck (not .RequiredStatusCheckState.IsSuccess)}}
{{range .ChangedProtectedFiles}}
{{.}}
{{end}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
{{else if and .RequireSigned (not .WillSign)}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.require_signed_wont_sign"}}
{{else}}
{{svg "octicon-x"}}
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_desc"}}
{{svg "octicon-info"}}
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_helper"}}
{{end}}
{{end}}
{{if and (gt .Issue.PullRequest.CommitsBehind 0) (not .Issue.IsClosed) (not .Issue.PullRequest.IsChecking) (not .IsPullFilesConflicted) (not .IsPullRequestBroken) (not $canAutoMerge)}}
{{svg "octicon-alert"}}
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
{{if and .UpdateAllowed .UpdateByRebaseAllowed }}
{{end}}
{{if and .UpdateAllowed (not .UpdateByRebaseAllowed)}}
{{end}}
{{$.i18n.Tr "repo.issues.review.reviewers"}}
{{range .PullReviewers}} {{ $createdStr:= TimeSinceUnix .Review.UpdatedUnix $.Lang }}