Skip to content

Commit 3bf5a07

Browse files
jolheiserlunny
authored andcommitted
Only sync tags after all batches (#9319)
Signed-off-by: jolheiser <[email protected]>
1 parent c3d31e5 commit 3bf5a07

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

modules/migrations/base/uploader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type Uploader interface {
1111
CreateRepo(repo *Repository, opts MigrateOptions) error
1212
CreateTopics(topic ...string) error
1313
CreateMilestones(milestones ...*Milestone) error
14-
CreateReleases(releases ...*Release) error
14+
CreateReleases(syncTags bool, releases ...*Release) error
1515
CreateLabels(labels ...*Label) error
1616
CreateIssues(issues ...*Issue) error
1717
CreateComments(comments ...*Comment) error

modules/migrations/gitea.go

+7-3
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(releases ...*base.Release) error {
204+
func (g *GiteaLocalUploader) CreateReleases(syncTags bool, releases ...*base.Release) error {
205205
var rels = make([]*models.Release, 0, len(releases))
206206
for _, release := range releases {
207207
var rel = models.Release{
@@ -292,8 +292,12 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
292292
return err
293293
}
294294

295-
// sync tags to releases in database
296-
return models.SyncReleasesWithTags(g.repo, g.gitRepo)
295+
if syncTags {
296+
// sync tags to releases in database
297+
return models.SyncReleasesWithTags(g.repo, g.gitRepo)
298+
}
299+
300+
return nil
297301
}
298302

299303
// CreateIssues creates issues

modules/migrations/migrate.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,16 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
161161
}
162162

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

169-
if err := uploader.CreateReleases(releases[:relBatchSize]...); err != nil {
173+
if err := uploader.CreateReleases(syncTags, releases[:relBatchSize]...); err != nil {
170174
return err
171175
}
172176
releases = releases[relBatchSize:]

0 commit comments

Comments
 (0)