Skip to content
Snippets Groups Projects
Select Git revision
  • master default
  • test
  • v1.44.0
  • v1.43.0
  • v1.42.0
  • v1.41.0
  • v1.34.2
  • v1.40.0
  • v1.39.0
  • v1.38.0
  • v1.37.0
  • v1.36.0
  • v1.34.1
  • v1.27.2
  • v1.20.1
  • v1.35.0
  • v1.34.0
  • v1.33.0
  • v1.32.0
  • v1.31.0
  • v1.30.0
  • v1.27.1
22 results

main.go

Forked from GitLab.org / Gitaly
20133 commits behind the upstream repository.
main.go 941 B
package main

import (
	"log"
	"os"
	"strings"
	"time"

	"golang.org/x/net/context"

	pb "gitlab.com/gitlab-org/gitaly-proto/go"
	"gitlab.com/gitlab-org/gitaly/client"
)

func main() {
	if !(len(os.Args) >= 3 && strings.HasPrefix(os.Args[2], "git-upload-pack")) {
		log.Fatalf("Not a valid command")
	}

	addr := os.Getenv("GITALY_SOCKET")
	if len(addr) == 0 {
		log.Fatalf("GITALY_SOCKET not set")
	}

	conn, err := client.Dial(addr, client.DefaultDialOpts)
	if err != nil {
		log.Fatalf("Error: %v", err)
	}
	defer conn.Close()

	req := &pb.SSHUploadPackRequest{
		Repository: &pb.Repository{
			RelativePath: os.Getenv("GL_RELATIVEPATH"),
			StorageName:  os.Getenv("GL_STORAGENAME"),
		},
	}

	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
	defer cancel()
	code, err := client.UploadPack(ctx, conn, os.Stdin, os.Stdout, os.Stderr, req)
	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	os.Exit(int(code))
}