diff options
author | Michael Leopard <mleopard@gitlab.com> | 2019-02-11 15:47:41 +0300 |
---|---|---|
committer | Michael Leopard <mleopard@gitlab.com> | 2019-02-11 15:47:41 +0300 |
commit | df887af179e7f3af3d6b9aa2740db0f17895a7dc (patch) | |
tree | ae27332a42692d6a9414a801d08c5c8ac7ac8bb0 | |
parent | 94ecbad5f45e36d9ece21e26bb998543a0094c5c (diff) |
Porting FetchRemote to go
-rw-r--r-- | internal/service/repository/fetch_remote.go | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/internal/service/repository/fetch_remote.go b/internal/service/repository/fetch_remote.go index b29db8b56..6d90b3dc8 100644 --- a/internal/service/repository/fetch_remote.go +++ b/internal/service/repository/fetch_remote.go @@ -3,31 +3,37 @@ package repository import ( "context" - grpc_logrus "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus" - log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb" - "gitlab.com/gitlab-org/gitaly/internal/rubyserver" + "gitlab.com/gitlab-org/gitaly/internal/git" ) func (s *server) FetchRemote(ctx context.Context, in *gitalypb.FetchRemoteRequest) (*gitalypb.FetchRemoteResponse, error) { - grpc_logrus.Extract(ctx).WithFields(log.Fields{ - "Remote": in.GetRemote(), - "Force": in.GetForce(), - "NoTags": in.GetNoTags(), - "Timeout": in.GetTimeout(), - "SSHKey": in.GetSshKey(), - "KnownHosts": in.GetKnownHosts(), - }).Debug("FetchRemote") - - client, err := s.RepositoryServiceClient(ctx) + repo := in.GetRepository() + + force := "" + if in.GetForce() { + force = "--force" + } + + prune := "--prune" + if in.GetNoPrune() { + prune = "" + } + + tags := "--tags" + if in.GetNoTags() { + tags = "--no-tags" + } + + cmd, err := git.Command(ctx, repo, "fetch", in.GetRemote(), prune, force, tags, "--quiet") if err != nil { return nil, err } - clientCtx, err := rubyserver.SetHeaders(ctx, in.GetRepository()) - if err != nil { + if err := cmd.Wait(); err != nil { return nil, err } - return client.FetchRemote(clientCtx, in) + return &gitalypb.FetchRemoteResponse{}, nil + } |