From c576b50441a62201c2c17de5cfd003c941a3479b Mon Sep 17 00:00:00 2001
From: CaiCandong <50507092+CaiCandong@users.noreply.github.com>
Date: Tue, 29 Aug 2023 17:07:15 +0800
Subject: [PATCH] Fix being unable to use a repo that prohibits accepting PRs
as a PR source. (#26785)
## Description
Sometimes, we need to use an upstream mirror repository to update the
current development repository, but mirror repositories are prohibited
from PR. It should not appear in `merge to,` but it can appear in `pull
from.`
Fix #24585 #26193 #26781
Related #24183
Many thanks to @apnote for assisting me in reproducing this bug!
## ScreenShot
---
### Before
### After
---
routers/web/repo/compare.go | 2 +-
templates/repo/diff/compare.tmpl | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go
index 4ceb52d039..aee3495612 100644
--- a/routers/web/repo/compare.go
+++ b/routers/web/repo/compare.go
@@ -460,7 +460,7 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo {
rootRepo.ID != ci.HeadRepo.ID &&
rootRepo.ID != baseRepo.ID {
canRead := access_model.CheckRepoUnitUser(ctx, rootRepo, ctx.Doer, unit.TypeCode)
- if canRead && rootRepo.AllowsPulls() {
+ if canRead {
ctx.Data["RootRepo"] = rootRepo
if !fileOnly {
branches, tags, err := getBranchesAndTagsForRepo(ctx, rootRepo)
diff --git a/templates/repo/diff/compare.tmpl b/templates/repo/diff/compare.tmpl
index 3bb7c2e81f..e4ae7d4dc8 100644
--- a/templates/repo/diff/compare.tmpl
+++ b/templates/repo/diff/compare.tmpl
@@ -77,7 +77,7 @@