mirror of
https://github.com/go-gitea/gitea
synced 2025-07-15 23:17:19 +00:00
refactor: decouple context from migration structs (#33399)
Use context as much as possible. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -176,12 +176,12 @@ func newDownloader(ctx context.Context, ownerName string, opts base.MigrateOptio
|
||||
// migrateRepository will download information and then upload it to Uploader, this is a simple
|
||||
// process for small repository. For a big repository, save all the data to disk
|
||||
// before upload is better
|
||||
func migrateRepository(_ context.Context, doer *user_model.User, downloader base.Downloader, uploader base.Uploader, opts base.MigrateOptions, messenger base.Messenger) error {
|
||||
func migrateRepository(ctx context.Context, doer *user_model.User, downloader base.Downloader, uploader base.Uploader, opts base.MigrateOptions, messenger base.Messenger) error {
|
||||
if messenger == nil {
|
||||
messenger = base.NilMessenger
|
||||
}
|
||||
|
||||
repo, err := downloader.GetRepoInfo()
|
||||
repo, err := downloader.GetRepoInfo(ctx)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -220,14 +220,14 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
|
||||
log.Trace("migrating git data from %s", repo.CloneURL)
|
||||
messenger("repo.migrate.migrating_git")
|
||||
if err = uploader.CreateRepo(repo, opts); err != nil {
|
||||
if err = uploader.CreateRepo(ctx, repo, opts); err != nil {
|
||||
return err
|
||||
}
|
||||
defer uploader.Close()
|
||||
|
||||
log.Trace("migrating topics")
|
||||
messenger("repo.migrate.migrating_topics")
|
||||
topics, err := downloader.GetTopics()
|
||||
topics, err := downloader.GetTopics(ctx)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -235,7 +235,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
log.Warn("migrating topics is not supported, ignored")
|
||||
}
|
||||
if len(topics) != 0 {
|
||||
if err = uploader.CreateTopics(topics...); err != nil {
|
||||
if err = uploader.CreateTopics(ctx, topics...); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -243,7 +243,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
if opts.Milestones {
|
||||
log.Trace("migrating milestones")
|
||||
messenger("repo.migrate.migrating_milestones")
|
||||
milestones, err := downloader.GetMilestones()
|
||||
milestones, err := downloader.GetMilestones(ctx)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -256,7 +256,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
msBatchSize = len(milestones)
|
||||
}
|
||||
|
||||
if err := uploader.CreateMilestones(milestones[:msBatchSize]...); err != nil {
|
||||
if err := uploader.CreateMilestones(ctx, milestones[:msBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
milestones = milestones[msBatchSize:]
|
||||
@@ -266,7 +266,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
if opts.Labels {
|
||||
log.Trace("migrating labels")
|
||||
messenger("repo.migrate.migrating_labels")
|
||||
labels, err := downloader.GetLabels()
|
||||
labels, err := downloader.GetLabels(ctx)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -280,7 +280,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
lbBatchSize = len(labels)
|
||||
}
|
||||
|
||||
if err := uploader.CreateLabels(labels[:lbBatchSize]...); err != nil {
|
||||
if err := uploader.CreateLabels(ctx, labels[:lbBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
labels = labels[lbBatchSize:]
|
||||
@@ -290,7 +290,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
if opts.Releases {
|
||||
log.Trace("migrating releases")
|
||||
messenger("repo.migrate.migrating_releases")
|
||||
releases, err := downloader.GetReleases()
|
||||
releases, err := downloader.GetReleases(ctx)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -304,14 +304,14 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
relBatchSize = len(releases)
|
||||
}
|
||||
|
||||
if err = uploader.CreateReleases(releases[:relBatchSize]...); err != nil {
|
||||
if err = uploader.CreateReleases(ctx, releases[:relBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
releases = releases[relBatchSize:]
|
||||
}
|
||||
|
||||
// Once all releases (if any) are inserted, sync any remaining non-release tags
|
||||
if err = uploader.SyncTags(); err != nil {
|
||||
if err = uploader.SyncTags(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -329,7 +329,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
issueBatchSize := uploader.MaxBatchInsertSize("issue")
|
||||
|
||||
for i := 1; ; i++ {
|
||||
issues, isEnd, err := downloader.GetIssues(i, issueBatchSize)
|
||||
issues, isEnd, err := downloader.GetIssues(ctx, i, issueBatchSize)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -338,7 +338,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
break
|
||||
}
|
||||
|
||||
if err := uploader.CreateIssues(issues...); err != nil {
|
||||
if err := uploader.CreateIssues(ctx, issues...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -346,7 +346,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
allComments := make([]*base.Comment, 0, commentBatchSize)
|
||||
for _, issue := range issues {
|
||||
log.Trace("migrating issue %d's comments", issue.Number)
|
||||
comments, _, err := downloader.GetComments(issue)
|
||||
comments, _, err := downloader.GetComments(ctx, issue)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -357,7 +357,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
allComments = append(allComments, comments...)
|
||||
|
||||
if len(allComments) >= commentBatchSize {
|
||||
if err = uploader.CreateComments(allComments[:commentBatchSize]...); err != nil {
|
||||
if err = uploader.CreateComments(ctx, allComments[:commentBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -366,7 +366,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
}
|
||||
|
||||
if len(allComments) > 0 {
|
||||
if err = uploader.CreateComments(allComments...); err != nil {
|
||||
if err = uploader.CreateComments(ctx, allComments...); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -383,7 +383,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
messenger("repo.migrate.migrating_pulls")
|
||||
prBatchSize := uploader.MaxBatchInsertSize("pullrequest")
|
||||
for i := 1; ; i++ {
|
||||
prs, isEnd, err := downloader.GetPullRequests(i, prBatchSize)
|
||||
prs, isEnd, err := downloader.GetPullRequests(ctx, i, prBatchSize)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -392,7 +392,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
break
|
||||
}
|
||||
|
||||
if err := uploader.CreatePullRequests(prs...); err != nil {
|
||||
if err := uploader.CreatePullRequests(ctx, prs...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -402,7 +402,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
allComments := make([]*base.Comment, 0, commentBatchSize)
|
||||
for _, pr := range prs {
|
||||
log.Trace("migrating pull request %d's comments", pr.Number)
|
||||
comments, _, err := downloader.GetComments(pr)
|
||||
comments, _, err := downloader.GetComments(ctx, pr)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -413,14 +413,14 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
allComments = append(allComments, comments...)
|
||||
|
||||
if len(allComments) >= commentBatchSize {
|
||||
if err = uploader.CreateComments(allComments[:commentBatchSize]...); err != nil {
|
||||
if err = uploader.CreateComments(ctx, allComments[:commentBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
allComments = allComments[commentBatchSize:]
|
||||
}
|
||||
}
|
||||
if len(allComments) > 0 {
|
||||
if err = uploader.CreateComments(allComments...); err != nil {
|
||||
if err = uploader.CreateComments(ctx, allComments...); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -429,7 +429,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
// migrate reviews
|
||||
allReviews := make([]*base.Review, 0, reviewBatchSize)
|
||||
for _, pr := range prs {
|
||||
reviews, err := downloader.GetReviews(pr)
|
||||
reviews, err := downloader.GetReviews(ctx, pr)
|
||||
if err != nil {
|
||||
if !base.IsErrNotSupported(err) {
|
||||
return err
|
||||
@@ -441,14 +441,14 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
allReviews = append(allReviews, reviews...)
|
||||
|
||||
if len(allReviews) >= reviewBatchSize {
|
||||
if err = uploader.CreateReviews(allReviews[:reviewBatchSize]...); err != nil {
|
||||
if err = uploader.CreateReviews(ctx, allReviews[:reviewBatchSize]...); err != nil {
|
||||
return err
|
||||
}
|
||||
allReviews = allReviews[reviewBatchSize:]
|
||||
}
|
||||
}
|
||||
if len(allReviews) > 0 {
|
||||
if err = uploader.CreateReviews(allReviews...); err != nil {
|
||||
if err = uploader.CreateReviews(ctx, allReviews...); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -463,12 +463,12 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
if opts.Comments && supportAllComments {
|
||||
log.Trace("migrating comments")
|
||||
for i := 1; ; i++ {
|
||||
comments, isEnd, err := downloader.GetAllComments(i, commentBatchSize)
|
||||
comments, isEnd, err := downloader.GetAllComments(ctx, i, commentBatchSize)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := uploader.CreateComments(comments...); err != nil {
|
||||
if err := uploader.CreateComments(ctx, comments...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -478,7 +478,7 @@ func migrateRepository(_ context.Context, doer *user_model.User, downloader base
|
||||
}
|
||||
}
|
||||
|
||||
return uploader.Finish()
|
||||
return uploader.Finish(ctx)
|
||||
}
|
||||
|
||||
// Init migrations service
|
||||
|
Reference in New Issue
Block a user