]> source.dussan.org Git - gitea.git/commitdiff
Fix being unable to use a repo that prohibits accepting PRs as a PR source. (#26785...
authorGiteabot <teabot@gitea.io>
Tue, 29 Aug 2023 10:06:05 +0000 (18:06 +0800)
committerGitHub <noreply@github.com>
Tue, 29 Aug 2023 10:06:05 +0000 (18:06 +0800)
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

<img
src="https://github.com/go-gitea/gitea/assets/50507092/3d76c376-1f54-45b9-80c9-6ba8319d6a9a"
width="400px">

<img
src="https://github.com/go-gitea/gitea/assets/50507092/fbfd9f7f-421f-4a2e-9a3e-f2958bbf3312"
width="400px">

### After

<img
src="https://github.com/go-gitea/gitea/assets/50507092/e6984524-4f61-4310-b795-4d8598bd8963"
width="400px">

<img
src="https://github.com/go-gitea/gitea/assets/50507092/04065b44-78d7-4721-bf31-0f1674150727"
width="400px">

Co-authored-by: CaiCandong <50507092+CaiCandong@users.noreply.github.com>
routers/web/repo/compare.go
templates/repo/diff/compare.tmpl

index 0ca1f90547efcb7fb5136ebe3f7ccec61be37586..92abe0ce259176f37ee45a1a69d2522087aed8f4 100644 (file)
@@ -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)
index 4efe81682ce1919cd1b86476f0941861c52f2699..d7a229501b3bd25aeb944238afc8a0048762334c 100644 (file)
@@ -77,7 +77,7 @@
                                                        <div class="item" data-url="{{$.OwnForkRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$OwnForkCompareName}}:{{.}}</div>
                                                {{end}}
                                        {{end}}
-                                       {{if .RootRepo}}
+                                       {{if and .RootRepo .RootRepo.AllowsPulls}}
                                                {{range .RootRepoBranches}}
                                                        <div class="item" data-url="{{$.RootRepo.Link}}/compare/{{PathEscapeSegments .}}{{$.CompareSeparator}}{{PathEscape $.HeadUser.Name}}/{{PathEscape $.HeadRepo.Name}}:{{PathEscapeSegments $.HeadBranch}}">{{$RootRepoCompareName}}:{{.}}</div>
                                                {{end}}