@@ -12,7 +12,6 @@ import (
12
12
"os"
13
13
"path/filepath"
14
14
"strings"
15
- "sync"
16
15
"time"
17
16
18
17
"code.gitea.io/gitea/models"
@@ -42,9 +41,9 @@ type GiteaLocalUploader struct {
42
41
repoOwner string
43
42
repoName string
44
43
repo * repo_model.Repository
45
- labels sync. Map
46
- milestones sync. Map
47
- issues sync. Map
44
+ labels map [ string ] * models. Label
45
+ milestones map [ string ] int64
46
+ issues map [ int64 ] * models. Issue
48
47
gitRepo * git.Repository
49
48
prHeadCache map [string ]struct {}
50
49
userMap map [int64 ]int64 // external user id mapping to user id
@@ -59,6 +58,9 @@ func NewGiteaLocalUploader(ctx context.Context, doer *user_model.User, repoOwner
59
58
doer : doer ,
60
59
repoOwner : repoOwner ,
61
60
repoName : repoName ,
61
+ labels : make (map [string ]* models.Label ),
62
+ milestones : make (map [string ]int64 ),
63
+ issues : make (map [int64 ]* models.Issue ),
62
64
prHeadCache : make (map [string ]struct {}),
63
65
userMap : make (map [int64 ]int64 ),
64
66
prCache : make (map [int64 ]* models.PullRequest ),
@@ -201,7 +203,7 @@ func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) err
201
203
}
202
204
203
205
for _ , ms := range mss {
204
- g .milestones . Store ( ms .Name , ms .ID )
206
+ g .milestones [ ms .Name ] = ms .ID
205
207
}
206
208
return nil
207
209
}
@@ -223,7 +225,7 @@ func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error {
223
225
return err
224
226
}
225
227
for _ , lb := range lbs {
226
- g .labels . Store ( lb .Name , lb )
228
+ g .labels [ lb .Name ] = lb
227
229
}
228
230
return nil
229
231
}
@@ -333,19 +335,13 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
333
335
for _ , issue := range issues {
334
336
var labels []* models.Label
335
337
for _ , label := range issue .Labels {
336
- lb , ok := g .labels . Load ( label .Name )
338
+ lb , ok := g .labels [ label .Name ]
337
339
if ok {
338
- labels = append (labels , lb .( * models. Label ) )
340
+ labels = append (labels , lb )
339
341
}
340
342
}
341
343
342
- var milestoneID int64
343
- if issue .Milestone != "" {
344
- milestone , ok := g .milestones .Load (issue .Milestone )
345
- if ok {
346
- milestoneID = milestone .(int64 )
347
- }
348
- }
344
+ milestoneID := g .milestones [issue .Milestone ]
349
345
350
346
if issue .Created .IsZero () {
351
347
if issue .Closed != nil {
@@ -404,7 +400,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
404
400
}
405
401
406
402
for _ , is := range iss {
407
- g .issues . Store ( is .Index , is )
403
+ g .issues [ is .Index ] = is
408
404
}
409
405
}
410
406
@@ -416,16 +412,14 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
416
412
cms := make ([]* models.Comment , 0 , len (comments ))
417
413
for _ , comment := range comments {
418
414
var issue * models.Issue
419
- issueInter , ok := g .issues . Load ( comment .IssueIndex )
415
+ issue , ok := g .issues [ comment .IssueIndex ]
420
416
if ! ok {
421
417
var err error
422
418
issue , err = models .GetIssueByIndex (g .repo .ID , comment .IssueIndex )
423
419
if err != nil {
424
420
return err
425
421
}
426
- g .issues .Store (comment .IssueIndex , issue )
427
- } else {
428
- issue = issueInter .(* models.Issue )
422
+ g .issues [comment .IssueIndex ] = issue
429
423
}
430
424
431
425
if comment .Created .IsZero () {
@@ -487,7 +481,7 @@ func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error
487
481
return err
488
482
}
489
483
for _ , pr := range gprs {
490
- g .issues . Store ( pr .Issue .Index , pr .Issue )
484
+ g .issues [ pr .Issue .Index ] = pr .Issue
491
485
pull .AddToTaskQueue (pr )
492
486
}
493
487
return nil
@@ -496,19 +490,13 @@ func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error
496
490
func (g * GiteaLocalUploader ) newPullRequest (pr * base.PullRequest ) (* models.PullRequest , error ) {
497
491
var labels []* models.Label
498
492
for _ , label := range pr .Labels {
499
- lb , ok := g .labels . Load ( label .Name )
493
+ lb , ok := g .labels [ label .Name ]
500
494
if ok {
501
- labels = append (labels , lb .( * models. Label ) )
495
+ labels = append (labels , lb )
502
496
}
503
497
}
504
498
505
- var milestoneID int64
506
- if pr .Milestone != "" {
507
- milestone , ok := g .milestones .Load (pr .Milestone )
508
- if ok {
509
- milestoneID = milestone .(int64 )
510
- }
511
- }
499
+ milestoneID := g .milestones [pr .Milestone ]
512
500
513
501
// download patch file
514
502
err := func () error {
@@ -700,18 +688,15 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error {
700
688
cms := make ([]* models.Review , 0 , len (reviews ))
701
689
for _ , review := range reviews {
702
690
var issue * models.Issue
703
- issueInter , ok := g .issues . Load ( review .IssueIndex )
691
+ issue , ok := g .issues [ review .IssueIndex ]
704
692
if ! ok {
705
693
var err error
706
694
issue , err = models .GetIssueByIndex (g .repo .ID , review .IssueIndex )
707
695
if err != nil {
708
696
return err
709
697
}
710
- g .issues .Store (review .IssueIndex , issue )
711
- } else {
712
- issue = issueInter .(* models.Issue )
698
+ g .issues [review .IssueIndex ] = issue
713
699
}
714
-
715
700
if review .CreatedAt .IsZero () {
716
701
review .CreatedAt = time .Unix (int64 (issue .CreatedUnix ), 0 )
717
702
}
0 commit comments