Refactor again

This commit is contained in:
Chongyi Zheng 2023-08-22 21:02:29 -04:00
parent 80a9877d13
commit c535198e6c
No known key found for this signature in database
GPG Key ID: E3C2287691E40E35
5 changed files with 8 additions and 15 deletions

View File

@ -389,7 +389,7 @@ func runRepoSyncReleases(_ *cli.Context) error {
}
log.Trace(" currentNumReleases is %d, running SyncReleasesWithTags", oldnum)
if err = repo_module.SyncReleasesWithTags(repo, gitRepo); err != nil {
if err = repo_module.SyncReleasesWithTags(repo, gitRepo, true); err != nil {
log.Warn(" SyncReleasesWithTags: %v", err)
gitRepo.Close()
continue

View File

@ -159,7 +159,7 @@ func MigrateRepositoryGitData(ctx context.Context, u *user_model.User,
// note: this will greatly improve release (tag) sync
// for pull-mirrors with many tags
repo.IsMirror = opts.Mirror
if err = SyncReleasesWithTags(repo, gitRepo); err != nil {
if err = SyncReleasesWithTags(repo, gitRepo, false); err != nil {
log.Error("Failed to synchronize tags to releases for repository: %v", err)
}
}
@ -286,9 +286,9 @@ func CleanUpMigrateInfo(ctx context.Context, repo *repo_model.Repository) (*repo
return repo, UpdateRepository(ctx, repo, false)
}
// SyncReleases synchronizes release table with repository tags
func SyncReleases(repo *repo_model.Repository, gitRepo *git.Repository, hasNonTagReleases bool) error {
log.Debug("SyncReleases: in Repo[%d:%s/%s]", repo.ID, repo.OwnerName, repo.Name)
// SyncReleasesWithTags synchronizes release table with repository tags for each of the releases
func SyncReleasesWithTags(repo *repo_model.Repository, gitRepo *git.Repository, hasNonTagReleases bool) error {
log.Debug("SyncReleasesWithTags: in Repo[%d:%s/%s]", repo.ID, repo.OwnerName, repo.Name)
// optimized procedure for pull-mirrors which saves a lot of time (in
// particular for repos with many tags).
@ -296,13 +296,6 @@ func SyncReleases(repo *repo_model.Repository, gitRepo *git.Repository, hasNonTa
return recreateMirrorReleaseFromTags(repo, gitRepo)
}
return SyncReleasesWithTags(repo, gitRepo)
}
// SyncReleasesWithTags synchronizes release table with repository tags for each of the releases
func SyncReleasesWithTags(repo *repo_model.Repository, gitRepo *git.Repository) error {
log.Debug("SyncReleasesWithTags: in Repo[%d:%s/%s]", repo.ID, repo.OwnerName, repo.Name)
existingRelTags := make(container.Set[string])
opts := repo_model.FindReleasesOptions{
IncludeDrafts: true,

View File

@ -383,7 +383,7 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
// SyncTags syncs releases with tags in the databases
func (g *GiteaLocalUploader) SyncTags() error {
return repo_module.SyncReleases(g.repo, g.gitRepo, false)
return repo_module.SyncReleasesWithTags(g.repo, g.gitRepo, false)
}
func (g *GiteaLocalUploader) prepareIssues(issues ...*base.Issue) ([]*issues_model.Issue, error) {

View File

@ -315,7 +315,7 @@ func runSyncGit(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult,
}
log.Trace("SyncMirrors [repo: %-v]: syncing releases with tags...", m.Repo)
if err = repo_module.SyncReleasesWithTags(m.Repo, gitRepo); err != nil {
if err = repo_module.SyncReleasesWithTags(m.Repo, gitRepo, false); err != nil {
log.Error("SyncMirrors [repo: %-v]: failed to synchronize tags to releases: %v", m.Repo, err)
}

View File

@ -186,7 +186,7 @@ func ForkRepository(ctx context.Context, doer, owner *user_model.User, opts Fork
log.Error("Open created git repository failed: %v", err)
} else {
defer gitRepo.Close()
if err := repo_module.SyncReleasesWithTags(repo, gitRepo); err != nil {
if err := repo_module.SyncReleasesWithTags(repo, gitRepo, false); err != nil {
log.Error("Sync releases from git tags failed: %v", err)
}
}