@@ -28,12 +28,12 @@ import (
28
28
asymkey_service "code.gitea.io/gitea/services/asymkey"
29
29
)
30
30
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
33
33
34
34
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 {}
37
37
ErrHasMerged = errors .New ("has already been merged" )
38
38
ErrIsWorkInProgress = errors .New ("work in progress PRs cannot be merged" )
39
39
ErrIsChecking = errors .New ("cannot merge while conflict checking is in progress" )
43
43
44
44
// AddToTaskQueue adds itself to pull request test task queue.
45
45
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 {
47
47
pr .Status = models .PullRequestStatusChecking
48
48
err := pr .UpdateColsIfNotMerged ("status" )
49
49
if err != nil {
@@ -93,13 +93,13 @@ func CheckPullMergable(ctx context.Context, doer *user_model.User, perm *models.
93
93
return ErrIsChecking
94
94
}
95
95
96
- if err := CheckPRReadyToMerge (ctx , pr , false ); err != nil {
96
+ if err := CheckPullBranchProtections (ctx , pr , false ); err != nil {
97
97
if models .IsErrDisallowedToMerge (err ) {
98
98
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
101
101
} else if ! isRepoAdmin {
102
- return ErrUserNotAllowedToMerge
102
+ return err
103
103
}
104
104
}
105
105
} else {
@@ -144,7 +144,7 @@ func checkAndUpdateStatus(pr *models.PullRequest) {
144
144
}
145
145
146
146
// 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 ))
148
148
if err != nil {
149
149
log .Error ("Unable to check if the queue is waiting to reprocess pr.ID %d. Error: %v" , pr .ID , err )
150
150
}
@@ -293,7 +293,7 @@ func InitializePullRequests(ctx context.Context) {
293
293
case <- ctx .Done ():
294
294
return
295
295
default :
296
- if err := prQueue .PushFunc (strconv .FormatInt (prID , 10 ), func () error {
296
+ if err := prPatchCheckerQueue .PushFunc (strconv .FormatInt (prID , 10 ), func () error {
297
297
log .Trace ("Adding PR ID: %d to the pull requests patch checking queue" , prID )
298
298
return nil
299
299
}); err != nil {
@@ -358,13 +358,13 @@ func CheckPrsForBaseBranch(baseRepo *repo_model.Repository, baseBranchName strin
358
358
359
359
// Init runs the task queue to test all the checking status pull requests
360
360
func Init () error {
361
- prQueue = queue .CreateUniqueQueue ("pr_patch_checker" , handle , "" )
361
+ prPatchCheckerQueue = queue .CreateUniqueQueue ("pr_patch_checker" , handle , "" )
362
362
363
- if prQueue == nil {
363
+ if prPatchCheckerQueue == nil {
364
364
return fmt .Errorf ("Unable to create pr_patch_checker Queue" )
365
365
}
366
366
367
- go graceful .GetManager ().RunWithShutdownFns (prQueue .Run )
367
+ go graceful .GetManager ().RunWithShutdownFns (prPatchCheckerQueue .Run )
368
368
go graceful .GetManager ().RunWithShutdownContext (InitializePullRequests )
369
369
return nil
370
370
}
0 commit comments