diff options
author | Kim "BKC" Carlbäcker <kim.carlbacker@gmail.com> | 2017-06-26 17:36:15 +0200 |
---|---|---|
committer | Kim "BKC" Carlbäcker <kim.carlbacker@gmail.com> | 2017-07-03 19:12:05 +0200 |
commit | 799417a3f59b5b6e2923016c6fa3ecf1f84851bb (patch) | |
tree | 3c703ebd078f4bd6be231ccacd6ebb7452f79d07 /go/internal/handler/upload_pack.go | |
parent | 4539a066ecd2c5a16cab66f9e85f8f0ab747fc5f (diff) | |
download | gitlab-shell-799417a3f59b5b6e2923016c6fa3ecf1f84851bb.tar.gz |
- Update gitaly vendoring
- Wire up gitaly-*-pack to Gitaly. Don't pass git-*-pack to go
- Disable tests for go1.5 & 1.6
Diffstat (limited to 'go/internal/handler/upload_pack.go')
-rw-r--r-- | go/internal/handler/upload_pack.go | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/go/internal/handler/upload_pack.go b/go/internal/handler/upload_pack.go index 0312972..27620f0 100644 --- a/go/internal/handler/upload_pack.go +++ b/go/internal/handler/upload_pack.go @@ -1,16 +1,26 @@ package handler import ( + "context" "fmt" + "os" pb "gitlab.com/gitlab-org/gitaly-proto/go" + "gitlab.com/gitlab-org/gitaly/client" ) -func UploadPack(gitalyAddress string, request *pb.SSHUploadPackRequest) error { - repoPath := request.Repository.Path - if repoPath == "" { - return fmt.Errorf("empty path in repository message") +func UploadPack(gitalyAddress string, request *pb.SSHUploadPackRequest) (int32, error) { + if gitalyAddress == "" { + return -1, fmt.Errorf("no gitaly_address given") } - return execCommand("git-upload-pack", repoPath) + conn, err := client.Dial(gitalyAddress, client.DefaultDialOpts) + if err != nil { + return -1, err + } + defer conn.Close() + + ctx, cancel := context.WithCancel(context.TODO()) + defer cancel() + return client.UploadPack(ctx, conn, os.Stdin, os.Stdout, os.Stderr, request) } |