Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2022-02-11 16:58:23 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2022-02-16 09:59:59 +0300
commit3a7c92cacdcd59397bcf25eb60246c639a80d9bd (patch)
tree7dfffe26c03e31ae60f4ab219913ddde1f74ccde
parent5d557a52c40e2641d6ea1b44b60a897d0e9401e7 (diff)
repository: Decouple OptimizeRepository implementation from server
We're about to move handling of all repository implementations into the housekeeping package. Prepare for this by making OptimizeRepository not depend on the RepositoryService server anymore.
-rw-r--r--internal/gitaly/service/repository/optimize.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/gitaly/service/repository/optimize.go b/internal/gitaly/service/repository/optimize.go
index b13566036..8295756b8 100644
--- a/internal/gitaly/service/repository/optimize.go
+++ b/internal/gitaly/service/repository/optimize.go
@@ -16,6 +16,7 @@ import (
"gitlab.com/gitlab-org/gitaly/v14/internal/git/housekeeping"
"gitlab.com/gitlab-org/gitaly/v14/internal/git/localrepo"
"gitlab.com/gitlab-org/gitaly/v14/internal/git/stats"
+ "gitlab.com/gitlab-org/gitaly/v14/internal/gitaly/transaction"
"gitlab.com/gitlab-org/gitaly/v14/internal/helper"
"gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb"
)
@@ -33,7 +34,7 @@ func (s *server) OptimizeRepository(ctx context.Context, in *gitalypb.OptimizeRe
repo := s.localrepo(in.GetRepository())
- if err := s.optimizeRepository(ctx, repo); err != nil {
+ if err := optimizeRepository(ctx, repo, s.txManager); err != nil {
return nil, helper.ErrInternal(err)
}
@@ -53,7 +54,7 @@ func (s *server) validateOptimizeRepositoryRequest(in *gitalypb.OptimizeReposito
return nil
}
-func (s *server) optimizeRepository(ctx context.Context, repo *localrepo.Repo) error {
+func optimizeRepository(ctx context.Context, repo *localrepo.Repo, txManager transaction.Manager) error {
optimizations := struct {
PackedObjects bool `json:"packed_objects"`
PrunedObjects bool `json:"pruned_objects"`
@@ -63,7 +64,7 @@ func (s *server) optimizeRepository(ctx context.Context, repo *localrepo.Repo) e
ctxlogrus.Extract(ctx).WithField("optimizations", optimizations).Info("optimized repository")
}()
- if err := housekeeping.Perform(ctx, repo, s.txManager); err != nil {
+ if err := housekeeping.Perform(ctx, repo, txManager); err != nil {
return fmt.Errorf("could not execute houskeeping: %w", err)
}