loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request '[PORT] Fix code owners will not be mentioned when a pull request comes from a forked repository (gitea#30476)' (#5850) from gusted/forgejo-fix-cond-codeowners into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5850
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>

Gusted 59926daf 8852f2c0

+37 -6
+4 -4
services/issue/pull.go
··· 51 51 return nil, err 52 52 } 53 53 54 - if pr.HeadRepo.IsFork { 55 - return nil, nil 56 - } 57 - 58 54 if err := pr.LoadBaseRepo(ctx); err != nil { 59 55 return nil, err 56 + } 57 + 58 + if pr.BaseRepo.IsFork { 59 + return nil, nil 60 60 } 61 61 62 62 repo, err := gitrepo.OpenRepository(ctx, pr.BaseRepo)
+23
tests/integration/codeowner_test.go
··· 6 6 import ( 7 7 "context" 8 8 "fmt" 9 + "net/http" 9 10 "net/url" 10 11 "os" 11 12 "path" ··· 135 136 pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: repo.ID, HeadBranch: "user2/codeowner-out-of-date"}) 136 137 unittest.AssertExistsIf(t, true, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 4}) 137 138 unittest.AssertExistsIf(t, false, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 5}) 139 + }) 140 + t.Run("From a forked repository", func(t *testing.T) { 141 + defer tests.PrintCurrentTest(t)() 142 + 143 + session := loginUser(t, "user1") 144 + 145 + r := fmt.Sprintf("%suser1/repo1.git", u.String()) 146 + remoteURL, _ := url.Parse(r) 147 + remoteURL.User = url.UserPassword("user1", userPassword) 148 + doGitAddRemote(dstPath, "forked-2", remoteURL)(t) 149 + 150 + err := git.NewCommand(git.DefaultContext, "push", "forked-2", "HEAD:branch").Run(&git.RunOpts{Dir: dstPath}) 151 + require.NoError(t, err) 152 + 153 + req := NewRequestWithValues(t, "POST", repo.FullName()+"/compare/main...user1/repo1:branch", map[string]string{ 154 + "_csrf": GetCSRF(t, session, repo.FullName()+"/compare/main...user1/repo1:branch"), 155 + "title": "pull request", 156 + }) 157 + session.MakeRequest(t, req, http.StatusOK) 158 + 159 + pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: repo.ID, HeadBranch: "branch"}) 160 + unittest.AssertExistsIf(t, true, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 4}) 138 161 }) 139 162 }) 140 163 }
+10 -2
tests/integration/pull_review_test.go
··· 397 397 require.NoError(t, err) 398 398 399 399 session := loginUser(t, "user5") 400 - testPullCreate(t, session, "user5", "test_codeowner_fork", false, forkedRepo.DefaultBranch, "codeowner-basebranch-forked", "Test Pull Request2") 401 400 402 - pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: repo.ID, HeadBranch: "codeowner-basebranch-forked"}) 401 + // create a pull request on the forked repository, code reviewers should not be mentioned 402 + testPullCreateDirectly(t, session, "user5", "test_codeowner_fork", forkedRepo.DefaultBranch, "", "", "codeowner-basebranch-forked", "Test Pull Request on Forked Repository") 403 + 404 + pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: forkedRepo.ID, HeadBranch: "codeowner-basebranch-forked"}) 403 405 unittest.AssertExistsIf(t, false, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 8}) 406 + 407 + // create a pull request to base repository, code reviewers should be mentioned 408 + testPullCreateDirectly(t, session, repo.OwnerName, repo.Name, repo.DefaultBranch, forkedRepo.OwnerName, forkedRepo.Name, "codeowner-basebranch-forked", "Test Pull Request3") 409 + 410 + pr = unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{BaseRepoID: repo.ID, HeadRepoID: forkedRepo.ID, HeadBranch: "codeowner-basebranch-forked"}) 411 + unittest.AssertExistsIf(t, true, &issues_model.Review{IssueID: pr.IssueID, Type: issues_model.ReviewTypeRequest, ReviewerID: 8}) 404 412 }) 405 413 }) 406 414 }