Skip to content

Commit d8905cb

Browse files
6543delvh
andauthored
Dont overwrite err with nil & rename PullCheckingFuncs to reflect there usage (#19572)
- dont overwrite err with nil unintentionaly - rename CheckPRReadyToMerge to CheckPullBranchProtections - rename prQueue to prPatchCheckerQueue from #9307 Co-authored-by: delvh <[email protected]>
1 parent 3725fa2 commit d8905cb

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

routers/private/hook_pre_receive.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ func preReceiveBranch(ctx *preReceiveContext, oldCommitID, newCommitID, refFullN
343343
}
344344

345345
// Check all status checks and reviews are ok
346-
if err := pull_service.CheckPRReadyToMerge(ctx, pr, true); err != nil {
346+
if err := pull_service.CheckPullBranchProtections(ctx, pr, true); err != nil {
347347
if models.IsErrDisallowedToMerge(err) {
348348
log.Warn("Forbidden: User %d is not allowed push to protected branch %s in %-v and pr #%d is not ready to be merged: %s", ctx.opts.UserID, branchName, repo, pr.Index, err.Error())
349349
ctx.JSON(http.StatusForbidden, private.Response{

services/pull/check.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ import (
2828
asymkey_service "code.gitea.io/gitea/services/asymkey"
2929
)
3030

31-
// prQueue represents a queue to handle update pull request tests
32-
var prQueue queue.UniqueQueue
31+
// prPatchCheckerQueue represents a queue to handle update pull request tests
32+
var prPatchCheckerQueue queue.UniqueQueue
3333

3434
var (
35-
ErrIsClosed = errors.New("pull is cosed")
36-
ErrUserNotAllowedToMerge = errors.New("user not allowed to merge")
35+
ErrIsClosed = errors.New("pull is closed")
36+
ErrUserNotAllowedToMerge = models.ErrDisallowedToMerge{}
3737
ErrHasMerged = errors.New("has already been merged")
3838
ErrIsWorkInProgress = errors.New("work in progress PRs cannot be merged")
3939
ErrIsChecking = errors.New("cannot merge while conflict checking is in progress")
@@ -43,7 +43,7 @@ var (
4343

4444
// AddToTaskQueue adds itself to pull request test task queue.
4545
func AddToTaskQueue(pr *models.PullRequest) {
46-
err := prQueue.PushFunc(strconv.FormatInt(pr.ID, 10), func() error {
46+
err := prPatchCheckerQueue.PushFunc(strconv.FormatInt(pr.ID, 10), func() error {
4747
pr.Status = models.PullRequestStatusChecking
4848
err := pr.UpdateColsIfNotMerged("status")
4949
if err != nil {
@@ -93,13 +93,13 @@ func CheckPullMergable(ctx context.Context, doer *user_model.User, perm *models.
9393
return ErrIsChecking
9494
}
9595

96-
if err := CheckPRReadyToMerge(ctx, pr, false); err != nil {
96+
if err := CheckPullBranchProtections(ctx, pr, false); err != nil {
9797
if models.IsErrDisallowedToMerge(err) {
9898
if force {
99-
if isRepoAdmin, err := models.IsUserRepoAdmin(pr.BaseRepo, doer); err != nil {
100-
return err
99+
if isRepoAdmin, err2 := models.IsUserRepoAdmin(pr.BaseRepo, doer); err2 != nil {
100+
return err2
101101
} else if !isRepoAdmin {
102-
return ErrUserNotAllowedToMerge
102+
return err
103103
}
104104
}
105105
} else {
@@ -144,7 +144,7 @@ func checkAndUpdateStatus(pr *models.PullRequest) {
144144
}
145145

146146
// Make sure there is no waiting test to process before leaving the checking status.
147-
has, err := prQueue.Has(strconv.FormatInt(pr.ID, 10))
147+
has, err := prPatchCheckerQueue.Has(strconv.FormatInt(pr.ID, 10))
148148
if err != nil {
149149
log.Error("Unable to check if the queue is waiting to reprocess pr.ID %d. Error: %v", pr.ID, err)
150150
}
@@ -293,7 +293,7 @@ func InitializePullRequests(ctx context.Context) {
293293
case <-ctx.Done():
294294
return
295295
default:
296-
if err := prQueue.PushFunc(strconv.FormatInt(prID, 10), func() error {
296+
if err := prPatchCheckerQueue.PushFunc(strconv.FormatInt(prID, 10), func() error {
297297
log.Trace("Adding PR ID: %d to the pull requests patch checking queue", prID)
298298
return nil
299299
}); err != nil {
@@ -358,13 +358,13 @@ func CheckPrsForBaseBranch(baseRepo *repo_model.Repository, baseBranchName strin
358358

359359
// Init runs the task queue to test all the checking status pull requests
360360
func Init() error {
361-
prQueue = queue.CreateUniqueQueue("pr_patch_checker", handle, "")
361+
prPatchCheckerQueue = queue.CreateUniqueQueue("pr_patch_checker", handle, "")
362362

363-
if prQueue == nil {
363+
if prPatchCheckerQueue == nil {
364364
return fmt.Errorf("Unable to create pr_patch_checker Queue")
365365
}
366366

367-
go graceful.GetManager().RunWithShutdownFns(prQueue.Run)
367+
go graceful.GetManager().RunWithShutdownFns(prPatchCheckerQueue.Run)
368368
go graceful.GetManager().RunWithShutdownContext(InitializePullRequests)
369369
return nil
370370
}

services/pull/check_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func TestPullRequest_AddToTaskQueue(t *testing.T) {
4141
queueShutdown := []func(){}
4242
queueTerminate := []func(){}
4343

44-
prQueue = q.(queue.UniqueQueue)
44+
prPatchCheckerQueue = q.(queue.UniqueQueue)
4545

4646
pr := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ID: 2}).(*models.PullRequest)
4747
AddToTaskQueue(pr)
@@ -51,11 +51,11 @@ func TestPullRequest_AddToTaskQueue(t *testing.T) {
5151
return pr.Status == models.PullRequestStatusChecking
5252
}, 1*time.Second, 100*time.Millisecond)
5353

54-
has, err := prQueue.Has(strconv.FormatInt(pr.ID, 10))
54+
has, err := prPatchCheckerQueue.Has(strconv.FormatInt(pr.ID, 10))
5555
assert.True(t, has)
5656
assert.NoError(t, err)
5757

58-
prQueue.Run(func(shutdown func()) {
58+
prPatchCheckerQueue.Run(func(shutdown func()) {
5959
queueShutdown = append(queueShutdown, shutdown)
6060
}, func(terminate func()) {
6161
queueTerminate = append(queueTerminate, terminate)
@@ -68,7 +68,7 @@ func TestPullRequest_AddToTaskQueue(t *testing.T) {
6868
assert.Fail(t, "Timeout: nothing was added to pullRequestQueue")
6969
}
7070

71-
has, err = prQueue.Has(strconv.FormatInt(pr.ID, 10))
71+
has, err = prPatchCheckerQueue.Has(strconv.FormatInt(pr.ID, 10))
7272
assert.False(t, has)
7373
assert.NoError(t, err)
7474

@@ -82,5 +82,5 @@ func TestPullRequest_AddToTaskQueue(t *testing.T) {
8282
callback()
8383
}
8484

85-
prQueue = nil
85+
prPatchCheckerQueue = nil
8686
}

services/pull/merge.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -662,8 +662,8 @@ func IsUserAllowedToMerge(pr *models.PullRequest, p models.Permission, user *use
662662
return false, nil
663663
}
664664

665-
// CheckPRReadyToMerge checks whether the PR is ready to be merged (reviews and status checks)
666-
func CheckPRReadyToMerge(ctx context.Context, pr *models.PullRequest, skipProtectedFilesCheck bool) (err error) {
665+
// CheckPullBranchProtections checks whether the PR is ready to be merged (reviews and status checks)
666+
func CheckPullBranchProtections(ctx context.Context, pr *models.PullRequest, skipProtectedFilesCheck bool) (err error) {
667667
if err = pr.LoadBaseRepoCtx(ctx); err != nil {
668668
return fmt.Errorf("LoadBaseRepo: %v", err)
669669
}

0 commit comments

Comments
 (0)