diff options
author | 6543 <6543@obermui.de> | 2022-03-29 21:13:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-30 03:13:41 +0800 |
commit | 3e88af898a7b8e2697f7e4c3867c34b802d0b660 (patch) | |
tree | e8304867b9fd8d78ef0a3da7221d84fb29592c21 /services/repository | |
parent | 889a8c268ca6a54ff5be19e61b29b10feb4a12e8 (diff) | |
download | gitea-3e88af898a7b8e2697f7e4c3867c34b802d0b660.tar.gz gitea-3e88af898a7b8e2697f7e4c3867c34b802d0b660.zip |
Make git.OpenRepository accept Context (#19260)
* OpenRepositoryCtx -> OpenRepository
* OpenRepository -> openRepositoryWithDefaultContext, only for internal usage
Diffstat (limited to 'services/repository')
-rw-r--r-- | services/repository/adopt.go | 2 | ||||
-rw-r--r-- | services/repository/archiver/archiver.go | 2 | ||||
-rw-r--r-- | services/repository/files/file_test.go | 2 | ||||
-rw-r--r-- | services/repository/files/temp_repo.go | 4 | ||||
-rw-r--r-- | services/repository/fork.go | 22 | ||||
-rw-r--r-- | services/repository/fork_test.go | 3 | ||||
-rw-r--r-- | services/repository/hooks.go | 4 | ||||
-rw-r--r-- | services/repository/push.go | 2 |
8 files changed, 21 insertions, 20 deletions
diff --git a/services/repository/adopt.go b/services/repository/adopt.go index e9d1f80545..2523ca7350 100644 --- a/services/repository/adopt.go +++ b/services/repository/adopt.go @@ -123,7 +123,7 @@ func adoptRepository(ctx context.Context, repoPath string, u *user_model.User, r repo.IsEmpty = false // Don't bother looking this repo in the context it won't be there - gitRepo, err := git.OpenRepositoryCtx(ctx, repo.RepoPath()) + gitRepo, err := git.OpenRepository(ctx, repo.RepoPath()) if err != nil { return fmt.Errorf("openRepository: %v", err) } diff --git a/services/repository/archiver/archiver.go b/services/repository/archiver/archiver.go index ad2141ef33..7c2cf237d5 100644 --- a/services/repository/archiver/archiver.go +++ b/services/repository/archiver/archiver.go @@ -178,7 +178,7 @@ func doArchive(r *ArchiveRequest) (*repo_model.RepoArchiver, error) { return nil, fmt.Errorf("archiver.LoadRepo failed: %v", err) } - gitRepo, err := git.OpenRepositoryCtx(ctx, repo.RepoPath()) + gitRepo, err := git.OpenRepository(ctx, repo.RepoPath()) if err != nil { return nil, err } diff --git a/services/repository/files/file_test.go b/services/repository/files/file_test.go index 24e4949832..ee0582dfc2 100644 --- a/services/repository/files/file_test.go +++ b/services/repository/files/file_test.go @@ -109,7 +109,7 @@ func TestGetFileResponseFromCommit(t *testing.T) { repo := ctx.Repo.Repository branch := repo.DefaultBranch treePath := "README.md" - gitRepo, _ := git.OpenRepositoryCtx(ctx, repo.RepoPath()) + gitRepo, _ := git.OpenRepository(ctx, repo.RepoPath()) defer gitRepo.Close() commit, _ := gitRepo.GetBranchCommit(branch) expectedFileResponse := getExpectedFileResponse() diff --git a/services/repository/files/temp_repo.go b/services/repository/files/temp_repo.go index c789ad4445..66c8f09364 100644 --- a/services/repository/files/temp_repo.go +++ b/services/repository/files/temp_repo.go @@ -69,7 +69,7 @@ func (t *TemporaryUploadRepository) Clone(branch string) error { return fmt.Errorf("Clone: %v %s", err, stderr) } } - gitRepo, err := git.OpenRepositoryCtx(t.ctx, t.basePath) + gitRepo, err := git.OpenRepository(t.ctx, t.basePath) if err != nil { return err } @@ -82,7 +82,7 @@ func (t *TemporaryUploadRepository) Init() error { if err := git.InitRepository(t.ctx, t.basePath, false); err != nil { return err } - gitRepo, err := git.OpenRepositoryCtx(t.ctx, t.basePath) + gitRepo, err := git.OpenRepository(t.ctx, t.basePath) if err != nil { return err } diff --git a/services/repository/fork.go b/services/repository/fork.go index ec8fb1a09e..1a5d358408 100644 --- a/services/repository/fork.go +++ b/services/repository/fork.go @@ -30,8 +30,8 @@ type ForkRepoOptions struct { } // ForkRepository forks a repository -func ForkRepository(doer, owner *user_model.User, opts ForkRepoOptions) (_ *repo_model.Repository, err error) { - forkedRepo, err := repo_model.GetUserFork(opts.BaseRepo.ID, owner.ID) +func ForkRepository(ctx context.Context, doer, owner *user_model.User, opts ForkRepoOptions) (*repo_model.Repository, error) { + forkedRepo, err := repo_model.GetUserFork(ctx, opts.BaseRepo.ID, owner.ID) if err != nil { return nil, err } @@ -91,24 +91,24 @@ func ForkRepository(doer, owner *user_model.User, opts ForkRepoOptions) (_ *repo panic(panicErr) }() - err = db.WithTx(func(ctx context.Context) error { - if err = models.CreateRepository(ctx, doer, owner, repo, false); err != nil { + err = db.WithTx(func(txCtx context.Context) error { + if err = models.CreateRepository(txCtx, doer, owner, repo, false); err != nil { return err } - if err = models.IncrementRepoForkNum(ctx, opts.BaseRepo.ID); err != nil { + if err = models.IncrementRepoForkNum(txCtx, opts.BaseRepo.ID); err != nil { return err } // copy lfs files failure should not be ignored - if err = models.CopyLFS(ctx, repo, opts.BaseRepo); err != nil { + if err = models.CopyLFS(txCtx, repo, opts.BaseRepo); err != nil { return err } needsRollback = true repoPath := repo_model.RepoPath(owner.Name, repo.Name) - if stdout, err := git.NewCommand(ctx, + if stdout, err := git.NewCommand(txCtx, "clone", "--bare", oldRepoPath, repoPath). SetDescription(fmt.Sprintf("ForkRepository(git clone): %s to %s", opts.BaseRepo.FullName(), repo.FullName())). RunInDirTimeout(10*time.Minute, ""); err != nil { @@ -116,11 +116,11 @@ func ForkRepository(doer, owner *user_model.User, opts ForkRepoOptions) (_ *repo return fmt.Errorf("git clone: %v", err) } - if err := models.CheckDaemonExportOK(ctx, repo); err != nil { + if err := models.CheckDaemonExportOK(txCtx, repo); err != nil { return fmt.Errorf("checkDaemonExportOK: %v", err) } - if stdout, err := git.NewCommand(ctx, "update-server-info"). + if stdout, err := git.NewCommand(txCtx, "update-server-info"). SetDescription(fmt.Sprintf("ForkRepository(git update-server-info): %s", repo.FullName())). RunInDir(repoPath); err != nil { log.Error("Fork Repository (git update-server-info) failed for %v:\nStdout: %s\nError: %v", repo, stdout, err) @@ -139,14 +139,14 @@ func ForkRepository(doer, owner *user_model.User, opts ForkRepoOptions) (_ *repo } // even if below operations failed, it could be ignored. And they will be retried - if err := models.UpdateRepoSize(db.DefaultContext, repo); err != nil { + if err := models.UpdateRepoSize(ctx, repo); err != nil { log.Error("Failed to update size for repository: %v", err) } if err := repo_model.CopyLanguageStat(opts.BaseRepo, repo); err != nil { log.Error("Copy language stat from oldRepo failed: %v", err) } - gitRepo, err := git.OpenRepositoryCtx(git.DefaultContext, repo.RepoPath()) + gitRepo, err := git.OpenRepository(ctx, repo.RepoPath()) if err != nil { log.Error("Open created git repository failed: %v", err) } else { diff --git a/services/repository/fork_test.go b/services/repository/fork_test.go index 5d392e224f..965887b5d1 100644 --- a/services/repository/fork_test.go +++ b/services/repository/fork_test.go @@ -11,6 +11,7 @@ import ( repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" + "code.gitea.io/gitea/modules/git" "github.com/stretchr/testify/assert" ) @@ -22,7 +23,7 @@ func TestForkRepository(t *testing.T) { user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 13}).(*user_model.User) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 10}).(*repo_model.Repository) - fork, err := ForkRepository(user, user, ForkRepoOptions{ + fork, err := ForkRepository(git.DefaultContext, user, user, ForkRepoOptions{ BaseRepo: repo, Name: "test", Description: "test", diff --git a/services/repository/hooks.go b/services/repository/hooks.go index 40303d5937..67931ffcb6 100644 --- a/services/repository/hooks.go +++ b/services/repository/hooks.go @@ -54,13 +54,13 @@ func SyncRepositoryHooks(ctx context.Context) error { // GenerateGitHooks generates git hooks from a template repository func GenerateGitHooks(ctx context.Context, templateRepo, generateRepo *repo_model.Repository) error { - generateGitRepo, err := git.OpenRepositoryCtx(ctx, generateRepo.RepoPath()) + generateGitRepo, err := git.OpenRepository(ctx, generateRepo.RepoPath()) if err != nil { return err } defer generateGitRepo.Close() - templateGitRepo, err := git.OpenRepositoryCtx(ctx, templateRepo.RepoPath()) + templateGitRepo, err := git.OpenRepository(ctx, templateRepo.RepoPath()) if err != nil { return err } diff --git a/services/repository/push.go b/services/repository/push.go index 8fbd5f5186..4eb52c18c2 100644 --- a/services/repository/push.go +++ b/services/repository/push.go @@ -89,7 +89,7 @@ func pushUpdates(optsList []*repo_module.PushUpdateOptions) error { repoPath := repo.RepoPath() - gitRepo, err := git.OpenRepositoryCtx(ctx, repoPath) + gitRepo, err := git.OpenRepository(ctx, repoPath) if err != nil { return fmt.Errorf("OpenRepository[%s]: %v", repoPath, err) } |