@@ -425,7 +425,7 @@ func DeleteReleaseByID(id int64, u *User, delTag bool) error {
425
425
426
426
// SyncReleasesWithTags synchronizes release table with repository tags
427
427
func SyncReleasesWithTags (repo * Repository , gitRepo * git.Repository ) error {
428
- checked := make ([] string , 100 )
428
+ existingRelTags := make (map [ string ] struct {} )
429
429
opts := FindReleasesOptions {IncludeDrafts : true , IncludeTags : true }
430
430
page := 0
431
431
for {
@@ -446,7 +446,7 @@ func SyncReleasesWithTags(repo *Repository, gitRepo *git.Repository) error {
446
446
return fmt .Errorf ("pushUpdateDeleteTag: %v" , err )
447
447
}
448
448
} else {
449
- checked = append ( checked , rel .TagName )
449
+ existingRelTags [ strings . ToLower ( rel .TagName )] = struct {}{}
450
450
}
451
451
}
452
452
}
@@ -455,16 +455,11 @@ func SyncReleasesWithTags(repo *Repository, gitRepo *git.Repository) error {
455
455
return fmt .Errorf ("GetTags: %v" , err )
456
456
}
457
457
for _ , tagName := range tags {
458
- exists := false
459
- for _ , relTagName := range checked {
460
- if tagName == relTagName {
461
- exists = true
462
- break
458
+ if _ , ok := existingRelTags [strings .ToLower (tagName )]; ! ok {
459
+ if err := pushUpdateAddTag (repo , gitRepo , tagName ); err != nil {
460
+ return fmt .Errorf ("pushUpdateAddTag: %v" , err )
463
461
}
464
462
}
465
- if ! exists {
466
- pushUpdateAddTag (repo , gitRepo , tagName )
467
- }
468
463
}
469
464
return nil
470
465
}
0 commit comments