mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09: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:
		| @@ -41,7 +41,6 @@ var _ base.Uploader = &GiteaLocalUploader{} | ||||
|  | ||||
| // GiteaLocalUploader implements an Uploader to gitea sites | ||||
| type GiteaLocalUploader struct { | ||||
| 	ctx            context.Context | ||||
| 	doer           *user_model.User | ||||
| 	repoOwner      string | ||||
| 	repoName       string | ||||
| @@ -58,9 +57,8 @@ type GiteaLocalUploader struct { | ||||
| } | ||||
|  | ||||
| // NewGiteaLocalUploader creates an gitea Uploader via gitea API v1 | ||||
| func NewGiteaLocalUploader(ctx context.Context, doer *user_model.User, repoOwner, repoName string) *GiteaLocalUploader { | ||||
| func NewGiteaLocalUploader(_ context.Context, doer *user_model.User, repoOwner, repoName string) *GiteaLocalUploader { | ||||
| 	return &GiteaLocalUploader{ | ||||
| 		ctx:         ctx, | ||||
| 		doer:        doer, | ||||
| 		repoOwner:   repoOwner, | ||||
| 		repoName:    repoName, | ||||
| @@ -93,15 +91,15 @@ func (g *GiteaLocalUploader) MaxBatchInsertSize(tp string) int { | ||||
| } | ||||
|  | ||||
| // CreateRepo creates a repository | ||||
| func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.MigrateOptions) error { | ||||
| 	owner, err := user_model.GetUserByName(g.ctx, g.repoOwner) | ||||
| func (g *GiteaLocalUploader) CreateRepo(ctx context.Context, repo *base.Repository, opts base.MigrateOptions) error { | ||||
| 	owner, err := user_model.GetUserByName(ctx, g.repoOwner) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	var r *repo_model.Repository | ||||
| 	if opts.MigrateToRepoID <= 0 { | ||||
| 		r, err = repo_service.CreateRepositoryDirectly(g.ctx, g.doer, owner, repo_service.CreateRepoOptions{ | ||||
| 		r, err = repo_service.CreateRepositoryDirectly(ctx, g.doer, owner, repo_service.CreateRepoOptions{ | ||||
| 			Name:           g.repoName, | ||||
| 			Description:    repo.Description, | ||||
| 			OriginalURL:    repo.OriginalURL, | ||||
| @@ -111,7 +109,7 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate | ||||
| 			Status:         repo_model.RepositoryBeingMigrated, | ||||
| 		}) | ||||
| 	} else { | ||||
| 		r, err = repo_model.GetRepositoryByID(g.ctx, opts.MigrateToRepoID) | ||||
| 		r, err = repo_model.GetRepositoryByID(ctx, opts.MigrateToRepoID) | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| @@ -119,7 +117,7 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate | ||||
| 	r.DefaultBranch = repo.DefaultBranch | ||||
| 	r.Description = repo.Description | ||||
|  | ||||
| 	r, err = repo_service.MigrateRepositoryGitData(g.ctx, owner, r, base.MigrateOptions{ | ||||
| 	r, err = repo_service.MigrateRepositoryGitData(ctx, owner, r, base.MigrateOptions{ | ||||
| 		RepoName:       g.repoName, | ||||
| 		Description:    repo.Description, | ||||
| 		OriginalURL:    repo.OriginalURL, | ||||
| @@ -139,7 +137,7 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	g.gitRepo, err = gitrepo.OpenRepository(g.ctx, g.repo) | ||||
| 	g.gitRepo, err = gitrepo.OpenRepository(ctx, g.repo) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -150,7 +148,7 @@ func (g *GiteaLocalUploader) CreateRepo(repo *base.Repository, opts base.Migrate | ||||
| 		return err | ||||
| 	} | ||||
| 	g.repo.ObjectFormatName = objectFormat.Name() | ||||
| 	return repo_model.UpdateRepositoryCols(g.ctx, g.repo, "object_format_name") | ||||
| 	return repo_model.UpdateRepositoryCols(ctx, g.repo, "object_format_name") | ||||
| } | ||||
|  | ||||
| // Close closes this uploader | ||||
| @@ -161,7 +159,7 @@ func (g *GiteaLocalUploader) Close() { | ||||
| } | ||||
|  | ||||
| // CreateTopics creates topics | ||||
| func (g *GiteaLocalUploader) CreateTopics(topics ...string) error { | ||||
| func (g *GiteaLocalUploader) CreateTopics(ctx context.Context, topics ...string) error { | ||||
| 	// Ignore topics too long for the db | ||||
| 	c := 0 | ||||
| 	for _, topic := range topics { | ||||
| @@ -173,11 +171,11 @@ func (g *GiteaLocalUploader) CreateTopics(topics ...string) error { | ||||
| 		c++ | ||||
| 	} | ||||
| 	topics = topics[:c] | ||||
| 	return repo_model.SaveTopics(g.ctx, g.repo.ID, topics...) | ||||
| 	return repo_model.SaveTopics(ctx, g.repo.ID, topics...) | ||||
| } | ||||
|  | ||||
| // CreateMilestones creates milestones | ||||
| func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) error { | ||||
| func (g *GiteaLocalUploader) CreateMilestones(ctx context.Context, milestones ...*base.Milestone) error { | ||||
| 	mss := make([]*issues_model.Milestone, 0, len(milestones)) | ||||
| 	for _, milestone := range milestones { | ||||
| 		var deadline timeutil.TimeStamp | ||||
| @@ -216,7 +214,7 @@ func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) err | ||||
| 		mss = append(mss, &ms) | ||||
| 	} | ||||
|  | ||||
| 	err := issues_model.InsertMilestones(g.ctx, mss...) | ||||
| 	err := issues_model.InsertMilestones(ctx, mss...) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -228,7 +226,7 @@ func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) err | ||||
| } | ||||
|  | ||||
| // CreateLabels creates labels | ||||
| func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error { | ||||
| func (g *GiteaLocalUploader) CreateLabels(ctx context.Context, labels ...*base.Label) error { | ||||
| 	lbs := make([]*issues_model.Label, 0, len(labels)) | ||||
| 	for _, l := range labels { | ||||
| 		if color, err := label.NormalizeColor(l.Color); err != nil { | ||||
| @@ -247,7 +245,7 @@ func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error { | ||||
| 		}) | ||||
| 	} | ||||
|  | ||||
| 	err := issues_model.NewLabels(g.ctx, lbs...) | ||||
| 	err := issues_model.NewLabels(ctx, lbs...) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| @@ -258,7 +256,7 @@ func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error { | ||||
| } | ||||
|  | ||||
| // CreateReleases creates releases | ||||
| func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { | ||||
| func (g *GiteaLocalUploader) CreateReleases(ctx context.Context, releases ...*base.Release) error { | ||||
| 	rels := make([]*repo_model.Release, 0, len(releases)) | ||||
| 	for _, release := range releases { | ||||
| 		if release.Created.IsZero() { | ||||
| @@ -292,7 +290,7 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { | ||||
| 			CreatedUnix:  timeutil.TimeStamp(release.Created.Unix()), | ||||
| 		} | ||||
|  | ||||
| 		if err := g.remapUser(release, &rel); err != nil { | ||||
| 		if err := g.remapUser(ctx, release, &rel); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @@ -361,16 +359,16 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { | ||||
| 		rels = append(rels, &rel) | ||||
| 	} | ||||
|  | ||||
| 	return repo_model.InsertReleases(g.ctx, rels...) | ||||
| 	return repo_model.InsertReleases(ctx, rels...) | ||||
| } | ||||
|  | ||||
| // SyncTags syncs releases with tags in the database | ||||
| func (g *GiteaLocalUploader) SyncTags() error { | ||||
| 	return repo_module.SyncReleasesWithTags(g.ctx, g.repo, g.gitRepo) | ||||
| func (g *GiteaLocalUploader) SyncTags(ctx context.Context) error { | ||||
| 	return repo_module.SyncReleasesWithTags(ctx, g.repo, g.gitRepo) | ||||
| } | ||||
|  | ||||
| // CreateIssues creates issues | ||||
| func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||
| func (g *GiteaLocalUploader) CreateIssues(ctx context.Context, issues ...*base.Issue) error { | ||||
| 	iss := make([]*issues_model.Issue, 0, len(issues)) | ||||
| 	for _, issue := range issues { | ||||
| 		var labels []*issues_model.Label | ||||
| @@ -419,7 +417,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||
| 			UpdatedUnix: timeutil.TimeStamp(issue.Updated.Unix()), | ||||
| 		} | ||||
|  | ||||
| 		if err := g.remapUser(issue, &is); err != nil { | ||||
| 		if err := g.remapUser(ctx, issue, &is); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @@ -432,7 +430,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||
| 				Type:        reaction.Content, | ||||
| 				CreatedUnix: timeutil.TimeStampNow(), | ||||
| 			} | ||||
| 			if err := g.remapUser(reaction, &res); err != nil { | ||||
| 			if err := g.remapUser(ctx, reaction, &res); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			is.Reactions = append(is.Reactions, &res) | ||||
| @@ -441,7 +439,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||
| 	} | ||||
|  | ||||
| 	if len(iss) > 0 { | ||||
| 		if err := issues_model.InsertIssues(g.ctx, iss...); err != nil { | ||||
| 		if err := issues_model.InsertIssues(ctx, iss...); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @@ -454,7 +452,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||
| } | ||||
|  | ||||
| // CreateComments creates comments of issues | ||||
| func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { | ||||
| func (g *GiteaLocalUploader) CreateComments(ctx context.Context, comments ...*base.Comment) error { | ||||
| 	cms := make([]*issues_model.Comment, 0, len(comments)) | ||||
| 	for _, comment := range comments { | ||||
| 		var issue *issues_model.Issue | ||||
| @@ -513,7 +511,7 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { | ||||
| 		default: | ||||
| 		} | ||||
|  | ||||
| 		if err := g.remapUser(comment, &cm); err != nil { | ||||
| 		if err := g.remapUser(ctx, comment, &cm); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @@ -523,7 +521,7 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { | ||||
| 				Type:        reaction.Content, | ||||
| 				CreatedUnix: timeutil.TimeStampNow(), | ||||
| 			} | ||||
| 			if err := g.remapUser(reaction, &res); err != nil { | ||||
| 			if err := g.remapUser(ctx, reaction, &res); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			cm.Reactions = append(cm.Reactions, &res) | ||||
| @@ -535,35 +533,35 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { | ||||
| 	if len(cms) == 0 { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return issues_model.InsertIssueComments(g.ctx, cms) | ||||
| 	return issues_model.InsertIssueComments(ctx, cms) | ||||
| } | ||||
|  | ||||
| // CreatePullRequests creates pull requests | ||||
| func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error { | ||||
| func (g *GiteaLocalUploader) CreatePullRequests(ctx context.Context, prs ...*base.PullRequest) error { | ||||
| 	gprs := make([]*issues_model.PullRequest, 0, len(prs)) | ||||
| 	for _, pr := range prs { | ||||
| 		gpr, err := g.newPullRequest(pr) | ||||
| 		gpr, err := g.newPullRequest(ctx, pr) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		if err := g.remapUser(pr, gpr.Issue); err != nil { | ||||
| 		if err := g.remapUser(ctx, pr, gpr.Issue); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		gprs = append(gprs, gpr) | ||||
| 	} | ||||
| 	if err := issues_model.InsertPullRequests(g.ctx, gprs...); err != nil { | ||||
| 	if err := issues_model.InsertPullRequests(ctx, gprs...); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	for _, pr := range gprs { | ||||
| 		g.issues[pr.Issue.Index] = pr.Issue | ||||
| 		pull.AddToTaskQueue(g.ctx, pr) | ||||
| 		pull.AddToTaskQueue(ctx, pr) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (g *GiteaLocalUploader) updateGitForPullRequest(pr *base.PullRequest) (head string, err error) { | ||||
| func (g *GiteaLocalUploader) updateGitForPullRequest(ctx context.Context, pr *base.PullRequest) (head string, err error) { | ||||
| 	// SECURITY: this pr must have been must have been ensured safe | ||||
| 	if !pr.EnsuredSafe { | ||||
| 		log.Error("PR #%d in %s/%s has not been checked for safety.", pr.Number, g.repoOwner, g.repoName) | ||||
| @@ -664,7 +662,7 @@ func (g *GiteaLocalUploader) updateGitForPullRequest(pr *base.PullRequest) (head | ||||
| 				fetchArg = git.BranchPrefix + fetchArg | ||||
| 			} | ||||
|  | ||||
| 			_, _, err = git.NewCommand(g.ctx, "fetch", "--no-tags").AddDashesAndList(remote, fetchArg).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 			_, _, err = git.NewCommand(ctx, "fetch", "--no-tags").AddDashesAndList(remote, fetchArg).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 			if err != nil { | ||||
| 				log.Error("Fetch branch from %s failed: %v", pr.Head.CloneURL, err) | ||||
| 				return head, nil | ||||
| @@ -683,7 +681,7 @@ func (g *GiteaLocalUploader) updateGitForPullRequest(pr *base.PullRequest) (head | ||||
| 			pr.Head.SHA = headSha | ||||
| 		} | ||||
|  | ||||
| 		_, _, err = git.NewCommand(g.ctx, "update-ref", "--no-deref").AddDynamicArguments(pr.GetGitRefName(), pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 		_, _, err = git.NewCommand(ctx, "update-ref", "--no-deref").AddDynamicArguments(pr.GetGitRefName(), pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 		if err != nil { | ||||
| 			return "", err | ||||
| 		} | ||||
| @@ -700,13 +698,13 @@ func (g *GiteaLocalUploader) updateGitForPullRequest(pr *base.PullRequest) (head | ||||
| 		// The SHA is empty | ||||
| 		log.Warn("Empty reference, no pull head for PR #%d in %s/%s", pr.Number, g.repoOwner, g.repoName) | ||||
| 	} else { | ||||
| 		_, _, err = git.NewCommand(g.ctx, "rev-list", "--quiet", "-1").AddDynamicArguments(pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 		_, _, err = git.NewCommand(ctx, "rev-list", "--quiet", "-1").AddDynamicArguments(pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 		if err != nil { | ||||
| 			// Git update-ref remove bad references with a relative path | ||||
| 			log.Warn("Deprecated local head %s for PR #%d in %s/%s, removing  %s", pr.Head.SHA, pr.Number, g.repoOwner, g.repoName, pr.GetGitRefName()) | ||||
| 		} else { | ||||
| 			// set head information | ||||
| 			_, _, err = git.NewCommand(g.ctx, "update-ref", "--no-deref").AddDynamicArguments(pr.GetGitRefName(), pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 			_, _, err = git.NewCommand(ctx, "update-ref", "--no-deref").AddDynamicArguments(pr.GetGitRefName(), pr.Head.SHA).RunStdString(&git.RunOpts{Dir: g.repo.RepoPath()}) | ||||
| 			if err != nil { | ||||
| 				log.Error("unable to set %s as the local head for PR #%d from %s in %s/%s. Error: %v", pr.Head.SHA, pr.Number, pr.Head.Ref, g.repoOwner, g.repoName, err) | ||||
| 			} | ||||
| @@ -716,7 +714,7 @@ func (g *GiteaLocalUploader) updateGitForPullRequest(pr *base.PullRequest) (head | ||||
| 	return head, nil | ||||
| } | ||||
|  | ||||
| func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*issues_model.PullRequest, error) { | ||||
| func (g *GiteaLocalUploader) newPullRequest(ctx context.Context, pr *base.PullRequest) (*issues_model.PullRequest, error) { | ||||
| 	var labels []*issues_model.Label | ||||
| 	for _, label := range pr.Labels { | ||||
| 		lb, ok := g.labels[label.Name] | ||||
| @@ -727,7 +725,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*issues_model | ||||
|  | ||||
| 	milestoneID := g.milestones[pr.Milestone] | ||||
|  | ||||
| 	head, err := g.updateGitForPullRequest(pr) | ||||
| 	head, err := g.updateGitForPullRequest(ctx, pr) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("updateGitForPullRequest: %w", err) | ||||
| 	} | ||||
| @@ -779,7 +777,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*issues_model | ||||
| 		UpdatedUnix: timeutil.TimeStamp(pr.Updated.Unix()), | ||||
| 	} | ||||
|  | ||||
| 	if err := g.remapUser(pr, &issue); err != nil { | ||||
| 	if err := g.remapUser(ctx, pr, &issue); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| @@ -789,7 +787,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*issues_model | ||||
| 			Type:        reaction.Content, | ||||
| 			CreatedUnix: timeutil.TimeStampNow(), | ||||
| 		} | ||||
| 		if err := g.remapUser(reaction, &res); err != nil { | ||||
| 		if err := g.remapUser(ctx, reaction, &res); err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		issue.Reactions = append(issue.Reactions, &res) | ||||
| @@ -839,7 +837,7 @@ func convertReviewState(state string) issues_model.ReviewType { | ||||
| } | ||||
|  | ||||
| // CreateReviews create pull request reviews of currently migrated issues | ||||
| func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | ||||
| func (g *GiteaLocalUploader) CreateReviews(ctx context.Context, reviews ...*base.Review) error { | ||||
| 	cms := make([]*issues_model.Review, 0, len(reviews)) | ||||
| 	for _, review := range reviews { | ||||
| 		var issue *issues_model.Issue | ||||
| @@ -860,7 +858,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | ||||
| 			UpdatedUnix: timeutil.TimeStamp(review.CreatedAt.Unix()), | ||||
| 		} | ||||
|  | ||||
| 		if err := g.remapUser(review, &cm); err != nil { | ||||
| 		if err := g.remapUser(ctx, review, &cm); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @@ -870,7 +868,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | ||||
| 		pr, ok := g.prCache[issue.ID] | ||||
| 		if !ok { | ||||
| 			var err error | ||||
| 			pr, err = issues_model.GetPullRequestByIssueIDWithNoAttributes(g.ctx, issue.ID) | ||||
| 			pr, err = issues_model.GetPullRequestByIssueIDWithNoAttributes(ctx, issue.ID) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| @@ -940,7 +938,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | ||||
| 				UpdatedUnix: timeutil.TimeStamp(comment.UpdatedAt.Unix()), | ||||
| 			} | ||||
|  | ||||
| 			if err := g.remapUser(review, &c); err != nil { | ||||
| 			if err := g.remapUser(ctx, review, &c); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
|  | ||||
| @@ -948,7 +946,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return issues_model.InsertReviews(g.ctx, cms) | ||||
| 	return issues_model.InsertReviews(ctx, cms) | ||||
| } | ||||
|  | ||||
| // Rollback when migrating failed, this will rollback all the changes. | ||||
| @@ -962,31 +960,31 @@ func (g *GiteaLocalUploader) Rollback() error { | ||||
| } | ||||
|  | ||||
| // Finish when migrating success, this will do some status update things. | ||||
| func (g *GiteaLocalUploader) Finish() error { | ||||
| func (g *GiteaLocalUploader) Finish(ctx context.Context) error { | ||||
| 	if g.repo == nil || g.repo.ID <= 0 { | ||||
| 		return ErrRepoNotCreated | ||||
| 	} | ||||
|  | ||||
| 	// update issue_index | ||||
| 	if err := issues_model.RecalculateIssueIndexForRepo(g.ctx, g.repo.ID); err != nil { | ||||
| 	if err := issues_model.RecalculateIssueIndexForRepo(ctx, g.repo.ID); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	if err := models.UpdateRepoStats(g.ctx, g.repo.ID); err != nil { | ||||
| 	if err := models.UpdateRepoStats(ctx, g.repo.ID); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	g.repo.Status = repo_model.RepositoryReady | ||||
| 	return repo_model.UpdateRepositoryCols(g.ctx, g.repo, "status") | ||||
| 	return repo_model.UpdateRepositoryCols(ctx, g.repo, "status") | ||||
| } | ||||
|  | ||||
| func (g *GiteaLocalUploader) remapUser(source user_model.ExternalUserMigrated, target user_model.ExternalUserRemappable) error { | ||||
| func (g *GiteaLocalUploader) remapUser(ctx context.Context, source user_model.ExternalUserMigrated, target user_model.ExternalUserRemappable) error { | ||||
| 	var userID int64 | ||||
| 	var err error | ||||
| 	if g.sameApp { | ||||
| 		userID, err = g.remapLocalUser(source) | ||||
| 		userID, err = g.remapLocalUser(ctx, source) | ||||
| 	} else { | ||||
| 		userID, err = g.remapExternalUser(source) | ||||
| 		userID, err = g.remapExternalUser(ctx, source) | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| @@ -998,10 +996,10 @@ func (g *GiteaLocalUploader) remapUser(source user_model.ExternalUserMigrated, t | ||||
| 	return target.RemapExternalUser(source.GetExternalName(), source.GetExternalID(), g.doer.ID) | ||||
| } | ||||
|  | ||||
| func (g *GiteaLocalUploader) remapLocalUser(source user_model.ExternalUserMigrated) (int64, error) { | ||||
| func (g *GiteaLocalUploader) remapLocalUser(ctx context.Context, source user_model.ExternalUserMigrated) (int64, error) { | ||||
| 	userid, ok := g.userMap[source.GetExternalID()] | ||||
| 	if !ok { | ||||
| 		name, err := user_model.GetUserNameByID(g.ctx, source.GetExternalID()) | ||||
| 		name, err := user_model.GetUserNameByID(ctx, source.GetExternalID()) | ||||
| 		if err != nil { | ||||
| 			return 0, err | ||||
| 		} | ||||
| @@ -1016,10 +1014,10 @@ func (g *GiteaLocalUploader) remapLocalUser(source user_model.ExternalUserMigrat | ||||
| 	return userid, nil | ||||
| } | ||||
|  | ||||
| func (g *GiteaLocalUploader) remapExternalUser(source user_model.ExternalUserMigrated) (userid int64, err error) { | ||||
| func (g *GiteaLocalUploader) remapExternalUser(ctx context.Context, source user_model.ExternalUserMigrated) (userid int64, err error) { | ||||
| 	userid, ok := g.userMap[source.GetExternalID()] | ||||
| 	if !ok { | ||||
| 		userid, err = user_model.GetUserIDByExternalUserID(g.ctx, g.gitServiceType.Name(), fmt.Sprintf("%d", source.GetExternalID())) | ||||
| 		userid, err = user_model.GetUserIDByExternalUserID(ctx, g.gitServiceType.Name(), fmt.Sprintf("%d", source.GetExternalID())) | ||||
| 		if err != nil { | ||||
| 			log.Error("GetUserIDByExternalUserID: %v", err) | ||||
| 			return 0, err | ||||
|   | ||||
		Reference in New Issue
	
	Block a user