Skip to content

Commit 382936a

Browse files
jolheiserlunny
authored andcommitted
Add SyncTags to uploader interface (#9326)
* Add sync tags to interface Signed-off-by: jolheiser <[email protected]> * Fix revive Signed-off-by: jolheiser <[email protected]>
1 parent 3bf5a07 commit 382936a

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

modules/migrations/base/uploader.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ type Uploader interface {
1111
CreateRepo(repo *Repository, opts MigrateOptions) error
1212
CreateTopics(topic ...string) error
1313
CreateMilestones(milestones ...*Milestone) error
14-
CreateReleases(syncTags bool, releases ...*Release) error
14+
CreateReleases(releases ...*Release) error
15+
SyncTags() error
1516
CreateLabels(labels ...*Label) error
1617
CreateIssues(issues ...*Issue) error
1718
CreateComments(comments ...*Comment) error

modules/migrations/gitea.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error {
201201
}
202202

203203
// CreateReleases creates releases
204-
func (g *GiteaLocalUploader) CreateReleases(syncTags bool, releases ...*base.Release) error {
204+
func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
205205
var rels = make([]*models.Release, 0, len(releases))
206206
for _, release := range releases {
207207
var rel = models.Release{
@@ -288,16 +288,13 @@ func (g *GiteaLocalUploader) CreateReleases(syncTags bool, releases ...*base.Rel
288288

289289
rels = append(rels, &rel)
290290
}
291-
if err := models.InsertReleases(rels...); err != nil {
292-
return err
293-
}
294291

295-
if syncTags {
296-
// sync tags to releases in database
297-
return models.SyncReleasesWithTags(g.repo, g.gitRepo)
298-
}
292+
return models.InsertReleases(rels...)
293+
}
299294

300-
return nil
295+
// SyncTags syncs releases with tags in the database
296+
func (g *GiteaLocalUploader) SyncTags() error {
297+
return models.SyncReleasesWithTags(g.repo, g.gitRepo)
301298
}
302299

303300
// CreateIssues creates issues

modules/migrations/migrate.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,20 +161,21 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
161161
}
162162

163163
relBatchSize := uploader.MaxBatchInsertSize("release")
164-
syncTags := false
165164
for len(releases) > 0 {
166-
if len(releases) <= relBatchSize {
167-
if len(releases) < relBatchSize {
168-
relBatchSize = len(releases)
169-
}
170-
syncTags = true
165+
if len(releases) < relBatchSize {
166+
relBatchSize = len(releases)
171167
}
172168

173-
if err := uploader.CreateReleases(syncTags, releases[:relBatchSize]...); err != nil {
169+
if err := uploader.CreateReleases(releases[:relBatchSize]...); err != nil {
174170
return err
175171
}
176172
releases = releases[relBatchSize:]
177173
}
174+
175+
// Once all releases (if any) are inserted, sync any remaining non-release tags
176+
if err := uploader.SyncTags(); err != nil {
177+
return err
178+
}
178179
}
179180

180181
var commentBatchSize = uploader.MaxBatchInsertSize("comment")

0 commit comments

Comments
 (0)