diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-02-11 16:58:23 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-02-16 09:59:59 +0300 |
commit | 3a7c92cacdcd59397bcf25eb60246c639a80d9bd (patch) | |
tree | 7dfffe26c03e31ae60f4ab219913ddde1f74ccde | |
parent | 5d557a52c40e2641d6ea1b44b60a897d0e9401e7 (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.go | 7 |
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) } |