Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

gitserver: Extract repository service in gRPC #61807

Merged
merged 1 commit into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 37 additions & 163 deletions cmd/frontend/backend/mocks_temp.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 6 additions & 28 deletions cmd/frontend/backend/repos.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ type ReposService interface {
List(ctx context.Context, opt database.ReposListOptions) ([]*types.Repo, error)
ListIndexable(ctx context.Context) ([]types.MinimalRepo, error)
GetInventory(ctx context.Context, repoName api.RepoName, commitID api.CommitID, forceEnhancedLanguageDetection bool) (*inventory.Inventory, error)
DeleteRepositoryFromDisk(ctx context.Context, repoID api.RepoID) error
RequestRepositoryUpdate(ctx context.Context, repoID api.RepoID) error
RecloneRepository(ctx context.Context, repoID api.RepoID) error
ResolveRev(ctx context.Context, repo api.RepoName, rev string) (api.CommitID, error)
}

Expand Down Expand Up @@ -283,41 +282,20 @@ func (s *repos) GetInventory(ctx context.Context, repo api.RepoName, commitID ap
return &inv, nil
}

func (s *repos) DeleteRepositoryFromDisk(ctx context.Context, repoID api.RepoID) (err error) {
if Mocks.Repos.DeleteRepositoryFromDisk != nil {
return Mocks.Repos.DeleteRepositoryFromDisk(ctx, repoID)
func (s *repos) RecloneRepository(ctx context.Context, repoID api.RepoID) (err error) {
if Mocks.Repos.RecloneRepository != nil {
return Mocks.Repos.RecloneRepository(ctx, repoID)
}

repo, err := s.Get(ctx, repoID)
if err != nil {
return errors.Wrap(err, fmt.Sprintf("error while fetching repo with ID %d", repoID))
}

ctx, done := startTrace(ctx, "DeleteRepositoryFromDisk", repoID, &err)
ctx, done := startTrace(ctx, "RecloneRepository", repoID, &err)
defer done()

err = s.gitserverClient.Remove(ctx, repo.Name)
return err
}

func (s *repos) RequestRepositoryUpdate(ctx context.Context, repoID api.RepoID) (err error) {
repo, err := s.Get(ctx, repoID)
if err != nil {
return errors.Wrap(err, fmt.Sprintf("error while fetching repo with ID %d", repoID))
}

ctx, done := startTrace(ctx, "RequestRepositoryUpdate", repoID, &err)
defer done()

resp, err := s.gitserverClient.RequestRepoUpdate(ctx, repo.Name)
if err != nil {
return err
}
if resp.Error != "" {
return errors.Newf("requesting update for repo ID %d failed: %s", repoID, resp.Error)
}

return nil
return repoupdater.DefaultClient.RecloneRepository(ctx, repo.Name)
}

// ResolveRev will return the absolute commit for a commit-ish spec in a repo.
Expand Down
Loading