1package uploadpack 2 3import ( 4 "context" 5 6 "google.golang.org/grpc" 7 8 "gitlab.com/gitlab-org/gitaly/v14/client" 9 pb "gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb" 10 "gitlab.com/gitlab-org/gitlab-shell/internal/command/commandargs" 11 "gitlab.com/gitlab-org/gitlab-shell/internal/gitlabnet/accessverifier" 12 "gitlab.com/gitlab-org/gitlab-shell/internal/handler" 13) 14 15func (c *Command) performGitalyCall(ctx context.Context, response *accessverifier.Response) error { 16 gc := &handler.GitalyCommand{ 17 Config: c.Config, 18 ServiceName: string(commandargs.UploadPack), 19 Address: response.Gitaly.Address, 20 Token: response.Gitaly.Token, 21 Features: response.Gitaly.Features, 22 } 23 24 request := &pb.SSHUploadPackRequest{ 25 Repository: &response.Gitaly.Repo, 26 GitProtocol: c.Args.Env.GitProtocolVersion, 27 GitConfigOptions: response.GitConfigOptions, 28 } 29 30 return gc.RunGitalyCommand(ctx, func(ctx context.Context, conn *grpc.ClientConn) (int32, error) { 31 ctx, cancel := gc.PrepareContext(ctx, request.Repository, response, c.Args.Env) 32 defer cancel() 33 34 rw := c.ReadWriter 35 return client.UploadPack(ctx, conn, rw.In, rw.Out, rw.ErrOut, request) 36 }) 37} 38