aboutsummaryrefslogtreecommitdiffstats
path: root/services/repository
diff options
context:
space:
mode:
authorJakobDev <jakobdev@gmx.de>2023-10-11 06:24:07 +0200
committerGitHub <noreply@github.com>2023-10-11 04:24:07 +0000
commitebe803e514acb4eedc884226be2489ee6b4acd28 (patch)
tree3f4d38f8267142dcd0e8df7d76cd4fe04c47b85e /services/repository
parent50166d1f7c6df41c79561b094e29c9698c0000d5 (diff)
downloadgitea-ebe803e514acb4eedc884226be2489ee6b4acd28.tar.gz
gitea-ebe803e514acb4eedc884226be2489ee6b4acd28.zip
Penultimate round of `db.DefaultContext` refactor (#27414)
Part of #27065 --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'services/repository')
-rw-r--r--services/repository/archiver/archiver.go12
-rw-r--r--services/repository/archiver/archiver_test.go13
-rw-r--r--services/repository/branch.go2
-rw-r--r--services/repository/fork.go2
4 files changed, 15 insertions, 14 deletions
diff --git a/services/repository/archiver/archiver.go b/services/repository/archiver/archiver.go
index f6f03e75ae..9f1ea48dca 100644
--- a/services/repository/archiver/archiver.go
+++ b/services/repository/archiver/archiver.go
@@ -172,8 +172,8 @@ func (aReq *ArchiveRequest) Await(ctx context.Context) (*repo_model.RepoArchiver
}
}
-func doArchive(r *ArchiveRequest) (*repo_model.RepoArchiver, error) {
- txCtx, committer, err := db.TxContext(db.DefaultContext)
+func doArchive(ctx context.Context, r *ArchiveRequest) (*repo_model.RepoArchiver, error) {
+ txCtx, committer, err := db.TxContext(ctx)
if err != nil {
return nil, err
}
@@ -291,18 +291,18 @@ func doArchive(r *ArchiveRequest) (*repo_model.RepoArchiver, error) {
// anything. In all cases, the caller should be examining the *ArchiveRequest
// being returned for completion, as it may be different than the one they passed
// in.
-func ArchiveRepository(request *ArchiveRequest) (*repo_model.RepoArchiver, error) {
- return doArchive(request)
+func ArchiveRepository(ctx context.Context, request *ArchiveRequest) (*repo_model.RepoArchiver, error) {
+ return doArchive(ctx, request)
}
var archiverQueue *queue.WorkerPoolQueue[*ArchiveRequest]
// Init initializes archiver
-func Init() error {
+func Init(ctx context.Context) error {
handler := func(items ...*ArchiveRequest) []*ArchiveRequest {
for _, archiveReq := range items {
log.Trace("ArchiverData Process: %#v", archiveReq)
- if _, err := doArchive(archiveReq); err != nil {
+ if _, err := doArchive(ctx, archiveReq); err != nil {
log.Error("Archive %v failed: %v", archiveReq, err)
}
}
diff --git a/services/repository/archiver/archiver_test.go b/services/repository/archiver/archiver_test.go
index ff8bb8ca7a..5deec259da 100644
--- a/services/repository/archiver/archiver_test.go
+++ b/services/repository/archiver/archiver_test.go
@@ -8,6 +8,7 @@ import (
"testing"
"time"
+ "code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
"code.gitea.io/gitea/modules/contexttest"
@@ -79,13 +80,13 @@ func TestArchive_Basic(t *testing.T) {
inFlight[1] = tgzReq
inFlight[2] = secondReq
- ArchiveRepository(zipReq)
- ArchiveRepository(tgzReq)
- ArchiveRepository(secondReq)
+ ArchiveRepository(db.DefaultContext, zipReq)
+ ArchiveRepository(db.DefaultContext, tgzReq)
+ ArchiveRepository(db.DefaultContext, secondReq)
// Make sure sending an unprocessed request through doesn't affect the queue
// count.
- ArchiveRepository(zipReq)
+ ArchiveRepository(db.DefaultContext, zipReq)
// Sleep two seconds to make sure the queue doesn't change.
time.Sleep(2 * time.Second)
@@ -100,7 +101,7 @@ func TestArchive_Basic(t *testing.T) {
// We still have the other three stalled at completion, waiting to remove
// from archiveInProgress. Try to submit this new one before its
// predecessor has cleared out of the queue.
- ArchiveRepository(zipReq2)
+ ArchiveRepository(db.DefaultContext, zipReq2)
// Now we'll submit a request and TimedWaitForCompletion twice, before and
// after we release it. We should trigger both the timeout and non-timeout
@@ -108,7 +109,7 @@ func TestArchive_Basic(t *testing.T) {
timedReq, err := NewRequest(ctx.Repo.Repository.ID, ctx.Repo.GitRepo, secondCommit+".tar.gz")
assert.NoError(t, err)
assert.NotNil(t, timedReq)
- ArchiveRepository(timedReq)
+ ArchiveRepository(db.DefaultContext, timedReq)
zipReq2, err = NewRequest(ctx.Repo.Repository.ID, ctx.Repo.GitRepo, firstCommit+".zip")
assert.NoError(t, err)
diff --git a/services/repository/branch.go b/services/repository/branch.go
index 3351252200..735fa1a756 100644
--- a/services/repository/branch.go
+++ b/services/repository/branch.go
@@ -161,7 +161,7 @@ func loadOneBranch(ctx context.Context, repo *repo_model.Repository, dbBranch *g
}
}
- pr, err := issues_model.GetLatestPullRequestByHeadInfo(repo.ID, branchName)
+ pr, err := issues_model.GetLatestPullRequestByHeadInfo(ctx, repo.ID, branchName)
if err != nil {
return nil, fmt.Errorf("GetLatestPullRequestByHeadInfo: %v", err)
}
diff --git a/services/repository/fork.go b/services/repository/fork.go
index d5ab42badd..851a69c80f 100644
--- a/services/repository/fork.go
+++ b/services/repository/fork.go
@@ -185,7 +185,7 @@ func ForkRepository(ctx context.Context, doer, owner *user_model.User, opts Fork
if err := repo_module.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 {
+ if err := repo_model.CopyLanguageStat(ctx, opts.BaseRepo, repo); err != nil {
log.Error("Copy language stat from oldRepo failed: %v", err)
}