From 1d228e6ee93525bd630c4a915febd98d159f1824 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Tue, 29 Aug 2023 18:06:05 +0800 Subject: [PATCH] Fix being unable to use a repo that prohibits accepting PRs as a PR source. (#26785) (#26790) Backport #26785 by @CaiCandong ## 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 Co-authored-by: CaiCandong <50507092+CaiCandong@users.noreply.github.com> (cherry picked from commit 3bab20491e60a5bbcc64bef42394dcf427d74308) --- 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 0ca1f90547..92abe0ce25 100644 --- a/routers/web/repo/compare.go +++ b/routers/web/repo/compare.go @@ -459,7 +459,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 4efe81682c..d7a229501b 100644 --- a/templates/repo/diff/compare.tmpl +++ b/templates/repo/diff/compare.tmpl @@ -77,7 +77,7 @@
{{$OwnForkCompareName}}:{{.}}
{{end}} {{end}} - {{if .RootRepo}} + {{if and .RootRepo .RootRepo.AllowsPulls}} {{range .RootRepoBranches}}
{{$RootRepoCompareName}}:{{.}}
{{end}}