Commit 84725144 authored by Nick Thomas's avatar Nick Thomas

Merge branch 'gitaly-smarthttp-service' into 'master'

Use Gitaly's SmartHTTPService service

Closes gitaly#380

See merge request !187
parents 0e9f1be3 906aaef5
...@@ -384,7 +384,7 @@ func startGitalyServer(t *testing.T, finalMessageCode codes.Code) (*combinedServ ...@@ -384,7 +384,7 @@ func startGitalyServer(t *testing.T, finalMessageCode codes.Code) (*combinedServ
require.NoError(t, err) require.NoError(t, err)
gitalyServer := testhelper.NewGitalyServer(finalMessageCode) gitalyServer := testhelper.NewGitalyServer(finalMessageCode)
pb.RegisterSmartHTTPServer(server, gitalyServer) pb.RegisterSmartHTTPServiceServer(server, gitalyServer)
pb.RegisterBlobServiceServer(server, gitalyServer) pb.RegisterBlobServiceServer(server, gitalyServer)
go server.Serve(listener) go server.Serve(listener)
......
...@@ -32,7 +32,7 @@ func NewSmartHTTPClient(server Server) (*SmartHTTPClient, error) { ...@@ -32,7 +32,7 @@ func NewSmartHTTPClient(server Server) (*SmartHTTPClient, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
grpcClient := pb.NewSmartHTTPClient(conn) grpcClient := pb.NewSmartHTTPServiceClient(conn)
return &SmartHTTPClient{grpcClient}, nil return &SmartHTTPClient{grpcClient}, nil
} }
......
...@@ -10,7 +10,7 @@ import ( ...@@ -10,7 +10,7 @@ import (
) )
type SmartHTTPClient struct { type SmartHTTPClient struct {
pb.SmartHTTPClient pb.SmartHTTPServiceClient
} }
func (client *SmartHTTPClient) InfoRefsResponseReader(ctx context.Context, repo *pb.Repository, rpc string) (io.Reader, error) { func (client *SmartHTTPClient) InfoRefsResponseReader(ctx context.Context, repo *pb.Repository, rpc string) (io.Reader, error) {
......
...@@ -42,7 +42,7 @@ func NewGitalyServer(finalMessageCode codes.Code) *GitalyTestServer { ...@@ -42,7 +42,7 @@ func NewGitalyServer(finalMessageCode codes.Code) *GitalyTestServer {
return &GitalyTestServer{finalMessageCode: finalMessageCode} return &GitalyTestServer{finalMessageCode: finalMessageCode}
} }
func (s *GitalyTestServer) InfoRefsUploadPack(in *pb.InfoRefsRequest, stream pb.SmartHTTP_InfoRefsUploadPackServer) error { func (s *GitalyTestServer) InfoRefsUploadPack(in *pb.InfoRefsRequest, stream pb.SmartHTTPService_InfoRefsUploadPackServer) error {
s.WaitGroup.Add(1) s.WaitGroup.Add(1)
defer s.WaitGroup.Done() defer s.WaitGroup.Done()
...@@ -63,7 +63,7 @@ func (s *GitalyTestServer) InfoRefsUploadPack(in *pb.InfoRefsRequest, stream pb. ...@@ -63,7 +63,7 @@ func (s *GitalyTestServer) InfoRefsUploadPack(in *pb.InfoRefsRequest, stream pb.
return s.finalError() return s.finalError()
} }
func (s *GitalyTestServer) InfoRefsReceivePack(in *pb.InfoRefsRequest, stream pb.SmartHTTP_InfoRefsReceivePackServer) error { func (s *GitalyTestServer) InfoRefsReceivePack(in *pb.InfoRefsRequest, stream pb.SmartHTTPService_InfoRefsReceivePackServer) error {
s.WaitGroup.Add(1) s.WaitGroup.Add(1)
defer s.WaitGroup.Done() defer s.WaitGroup.Done()
...@@ -81,7 +81,7 @@ func (s *GitalyTestServer) InfoRefsReceivePack(in *pb.InfoRefsRequest, stream pb ...@@ -81,7 +81,7 @@ func (s *GitalyTestServer) InfoRefsReceivePack(in *pb.InfoRefsRequest, stream pb
return s.finalError() return s.finalError()
} }
func (s *GitalyTestServer) PostReceivePack(stream pb.SmartHTTP_PostReceivePackServer) error { func (s *GitalyTestServer) PostReceivePack(stream pb.SmartHTTPService_PostReceivePackServer) error {
s.WaitGroup.Add(1) s.WaitGroup.Add(1)
defer s.WaitGroup.Done() defer s.WaitGroup.Done()
...@@ -126,7 +126,7 @@ func (s *GitalyTestServer) PostReceivePack(stream pb.SmartHTTP_PostReceivePackSe ...@@ -126,7 +126,7 @@ func (s *GitalyTestServer) PostReceivePack(stream pb.SmartHTTP_PostReceivePackSe
return s.finalError() return s.finalError()
} }
func (s *GitalyTestServer) PostUploadPack(stream pb.SmartHTTP_PostUploadPackServer) error { func (s *GitalyTestServer) PostUploadPack(stream pb.SmartHTTPService_PostUploadPackServer) error {
s.WaitGroup.Add(1) s.WaitGroup.Add(1)
defer s.WaitGroup.Done() defer s.WaitGroup.Done()
......
...@@ -19,6 +19,8 @@ It is generated from these files: ...@@ -19,6 +19,8 @@ It is generated from these files:
It has these top-level messages: It has these top-level messages:
GetBlobRequest GetBlobRequest
GetBlobResponse GetBlobResponse
CommitStatsRequest
CommitStatsResponse
CommitIsAncestorRequest CommitIsAncestorRequest
CommitIsAncestorResponse CommitIsAncestorResponse
TreeEntryRequest TreeEntryRequest
...@@ -30,6 +32,22 @@ It has these top-level messages: ...@@ -30,6 +32,22 @@ It has these top-level messages:
TreeEntry TreeEntry
GetTreeEntriesRequest GetTreeEntriesRequest
GetTreeEntriesResponse GetTreeEntriesResponse
ListFilesRequest
ListFilesResponse
FindCommitRequest
FindCommitResponse
FindAllCommitsRequest
FindAllCommitsResponse
FindCommitsRequest
FindCommitsResponse
CommitLanguagesRequest
CommitLanguagesResponse
RawBlameRequest
RawBlameResponse
LastCommitForPathRequest
LastCommitForPathResponse
CommitsByMessageRequest
CommitsByMessageResponse
CommitDiffRequest CommitDiffRequest
CommitDiffResponse CommitDiffResponse
CommitDeltaRequest CommitDeltaRequest
...@@ -49,8 +67,26 @@ It has these top-level messages: ...@@ -49,8 +67,26 @@ It has these top-level messages:
FindLocalBranchesResponse FindLocalBranchesResponse
FindLocalBranchResponse FindLocalBranchResponse
FindLocalBranchCommitAuthor FindLocalBranchCommitAuthor
FindAllBranchesRequest
FindAllBranchesResponse
FindAllTagsRequest
FindAllTagsResponse
RefExistsRequest
RefExistsResponse
RepositoryExistsRequest RepositoryExistsRequest
RepositoryExistsResponse RepositoryExistsResponse
RepackIncrementalRequest
RepackIncrementalResponse
RepackFullRequest
RepackFullResponse
GarbageCollectRequest
GarbageCollectResponse
RepositorySizeRequest
RepositorySizeResponse
ApplyGitattributesRequest
ApplyGitattributesResponse
FetchRemoteRequest
FetchRemoteResponse
Repository Repository
GitCommit GitCommit
CommitAuthor CommitAuthor
......
...@@ -16,6 +16,12 @@ var _ = math.Inf ...@@ -16,6 +16,12 @@ var _ = math.Inf
type Repository struct { type Repository struct {
StorageName string `protobuf:"bytes,2,opt,name=storage_name,json=storageName" json:"storage_name,omitempty"` StorageName string `protobuf:"bytes,2,opt,name=storage_name,json=storageName" json:"storage_name,omitempty"`
RelativePath string `protobuf:"bytes,3,opt,name=relative_path,json=relativePath" json:"relative_path,omitempty"` RelativePath string `protobuf:"bytes,3,opt,name=relative_path,json=relativePath" json:"relative_path,omitempty"`
// Sets the GIT_OBJECT_DIRECTORY envvar on git commands to the value of this field.
// It influences the object storage directory the SHA1 directories are created underneath.
GitObjectDirectory string `protobuf:"bytes,4,opt,name=git_object_directory,json=gitObjectDirectory" json:"git_object_directory,omitempty"`
// Sets the GIT_ALTERNATE_OBJECT_DIRECTORIES envvar on git commands to the values of this field.
// It influences the list of Git object directories which can be used to search for Git objects.
GitAlternateObjectDirectories []string `protobuf:"bytes,5,rep,name=git_alternate_object_directories,json=gitAlternateObjectDirectories" json:"git_alternate_object_directories,omitempty"`
} }
func (m *Repository) Reset() { *m = Repository{} } func (m *Repository) Reset() { *m = Repository{} }
...@@ -37,6 +43,20 @@ func (m *Repository) GetRelativePath() string { ...@@ -37,6 +43,20 @@ func (m *Repository) GetRelativePath() string {
return "" return ""
} }
func (m *Repository) GetGitObjectDirectory() string {
if m != nil {
return m.GitObjectDirectory
}
return ""
}
func (m *Repository) GetGitAlternateObjectDirectories() []string {
if m != nil {
return m.GitAlternateObjectDirectories
}
return nil
}
type GitCommit struct { type GitCommit struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
Subject []byte `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` Subject []byte `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
...@@ -151,26 +171,30 @@ func init() { ...@@ -151,26 +171,30 @@ func init() {
func init() { proto.RegisterFile("shared.proto", fileDescriptor7) } func init() { proto.RegisterFile("shared.proto", fileDescriptor7) }
var fileDescriptor7 = []byte{ var fileDescriptor7 = []byte{
// 335 bytes of a gzipped FileDescriptorProto // 393 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0xc1, 0x4a, 0xc3, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4d, 0x8f, 0xd3, 0x40,
0x10, 0x25, 0x69, 0x1a, 0xcd, 0x34, 0x8a, 0x2c, 0x3d, 0x84, 0x82, 0x58, 0xe3, 0xa5, 0x07, 0x49, 0x0c, 0x55, 0xba, 0x69, 0x21, 0x6e, 0x40, 0x68, 0xd4, 0x43, 0xb4, 0xd2, 0x8a, 0x12, 0x2e, 0x7b,
0xa1, 0x7e, 0x81, 0x88, 0x88, 0x1e, 0x44, 0x56, 0xef, 0x75, 0xd2, 0xac, 0xc9, 0x4a, 0xd2, 0x0d, 0x40, 0x59, 0x54, 0x7e, 0xc1, 0x0a, 0xd0, 0x0a, 0x0e, 0x80, 0x02, 0xf7, 0xc8, 0x6d, 0x4c, 0x62,
0xbb, 0x93, 0x62, 0x7f, 0xd1, 0xaf, 0x92, 0xec, 0x36, 0xe8, 0xc9, 0xdb, 0xce, 0x9b, 0xf7, 0x66, 0x94, 0x74, 0xa2, 0x19, 0x67, 0x45, 0xff, 0x22, 0x7f, 0x81, 0x3f, 0x83, 0xe2, 0x69, 0xc4, 0xc7,
0xe6, 0xed, 0x83, 0xd8, 0x54, 0xa8, 0x45, 0x91, 0xb5, 0x5a, 0x91, 0x62, 0x61, 0x29, 0x09, 0xeb, 0x81, 0x9b, 0xfd, 0xfc, 0x9e, 0xf3, 0x5e, 0xc6, 0x90, 0xfa, 0x16, 0x1d, 0xd5, 0xc5, 0xe0, 0xac,
0xfd, 0xec, 0xa2, 0x54, 0xaa, 0xac, 0xc5, 0xd2, 0xa2, 0x79, 0xf7, 0xb1, 0x24, 0xd9, 0x08, 0x43, 0x58, 0xb3, 0x6a, 0x58, 0xb0, 0x3b, 0x5d, 0x3e, 0x6d, 0xac, 0x6d, 0x3a, 0xba, 0x51, 0x74, 0x3f,
0xd8, 0xb4, 0x8e, 0x98, 0xbe, 0x03, 0x70, 0xd1, 0x2a, 0x23, 0x49, 0xe9, 0x3d, 0xbb, 0x84, 0xd8, 0x7e, 0xbd, 0x11, 0xee, 0xc9, 0x0b, 0xf6, 0x43, 0x20, 0xe6, 0x3f, 0x23, 0x80, 0x92, 0x06, 0xeb,
0x90, 0xd2, 0x58, 0x8a, 0xf5, 0x16, 0x1b, 0x91, 0xf8, 0x73, 0x6f, 0x11, 0xf1, 0xc9, 0x01, 0x7b, 0x59, 0xac, 0x3b, 0x99, 0x67, 0x90, 0x7a, 0xb1, 0x0e, 0x1b, 0xaa, 0x8e, 0xd8, 0x53, 0xb6, 0xd8,
0xc6, 0x46, 0xb0, 0x2b, 0x38, 0xd1, 0xa2, 0x46, 0x92, 0x3b, 0xb1, 0x6e, 0x91, 0xaa, 0x64, 0x64, 0x46, 0xd7, 0x49, 0xb9, 0x3e, 0x63, 0x1f, 0xb0, 0x27, 0xf3, 0x1c, 0x1e, 0x39, 0xea, 0x50, 0xf8,
0x39, 0xf1, 0x00, 0xbe, 0x20, 0x55, 0x4f, 0xc1, 0xb1, 0x77, 0xe6, 0xf3, 0xa0, 0xef, 0xa7, 0xdf, 0x9e, 0xaa, 0x01, 0xa5, 0xcd, 0x2e, 0x94, 0x93, 0xce, 0xe0, 0x27, 0x94, 0xd6, 0xbc, 0x84, 0x4d,
0x1e, 0x44, 0x0f, 0x92, 0xee, 0x54, 0xd3, 0x48, 0x62, 0xa7, 0xe0, 0xcb, 0x22, 0xf1, 0xac, 0xc6, 0xc3, 0x52, 0xd9, 0xfd, 0x37, 0x3a, 0x48, 0x55, 0xb3, 0xa3, 0xc3, 0xb4, 0x3f, 0x8b, 0x95, 0x6b,
0x97, 0x05, 0x4b, 0xe0, 0xc8, 0x74, 0xf9, 0xa7, 0xd8, 0x90, 0x5d, 0x16, 0xf3, 0xa1, 0x64, 0x0c, 0x1a, 0x96, 0x8f, 0x3a, 0x7a, 0x33, 0x4f, 0xcc, 0x1d, 0x6c, 0x27, 0x05, 0x76, 0x42, 0xee, 0x88,
0x82, 0x5c, 0x15, 0x7b, 0x3b, 0x3f, 0xe6, 0xf6, 0xcd, 0xae, 0x21, 0xc4, 0x8e, 0x2a, 0xa5, 0x93, 0x42, 0xff, 0x6a, 0x99, 0x7c, 0xb6, 0xdc, 0x5e, 0x5c, 0x27, 0xe5, 0x55, 0xc3, 0x72, 0x3b, 0xd3,
0x60, 0xee, 0x2d, 0x26, 0xab, 0x69, 0xe6, 0x7c, 0x66, 0x6e, 0xfa, 0xad, 0xed, 0xf1, 0x03, 0x87, 0xfe, 0x5e, 0xc3, 0xe4, 0xdf, 0xc7, 0x0f, 0xa3, 0x27, 0x8b, 0x32, 0x9e, 0xac, 0xe5, 0x3f, 0x22,
0xad, 0x20, 0xda, 0x58, 0x9c, 0x84, 0x4e, 0xc6, 0xff, 0x08, 0x7e, 0x69, 0xec, 0x1c, 0xa0, 0x45, 0x48, 0xee, 0x58, 0x5e, 0xdb, 0xbe, 0x67, 0x31, 0x8f, 0x61, 0xc1, 0x75, 0x16, 0xa9, 0x85, 0x05,
0x2d, 0xb6, 0xb4, 0x96, 0x85, 0x49, 0xc2, 0xf9, 0x68, 0x11, 0xf1, 0xc8, 0x21, 0x8f, 0x85, 0x49, 0xd7, 0x26, 0x83, 0x07, 0x7e, 0x54, 0xbd, 0xe6, 0x4c, 0xcb, 0xb9, 0x35, 0x06, 0xe2, 0xbd, 0xad,
0x2b, 0x88, 0xff, 0x2a, 0xfb, 0x23, 0xed, 0x47, 0x79, 0xee, 0xc8, 0xfe, 0xcd, 0xa6, 0x30, 0x16, 0x4f, 0x1a, 0x2d, 0x2d, 0xb5, 0x36, 0x2f, 0x60, 0x85, 0xa3, 0xb4, 0xd6, 0x69, 0x88, 0xf5, 0x6e,
0x0d, 0xca, 0xfa, 0x60, 0xc8, 0x15, 0x2c, 0x83, 0xa0, 0x40, 0x12, 0xd6, 0xce, 0x64, 0x35, 0xcb, 0x53, 0x84, 0x7f, 0x5c, 0x84, 0xed, 0xb7, 0x3a, 0x2b, 0xcf, 0x1c, 0xb3, 0x83, 0xe4, 0xa0, 0xb8,
0x5c, 0x30, 0xd9, 0x10, 0x4c, 0xf6, 0x36, 0x04, 0xc3, 0x2d, 0x2f, 0x4d, 0x01, 0xee, 0xbf, 0x24, 0x90, 0xcb, 0x96, 0xff, 0x11, 0xfc, 0xa6, 0x99, 0x2b, 0x80, 0x01, 0x1d, 0x1d, 0xa5, 0xe2, 0xda,
0xbd, 0x12, 0x52, 0x67, 0xfa, 0x99, 0x3b, 0xac, 0x3b, 0xb7, 0x68, 0xcc, 0x5d, 0x91, 0x87, 0x56, 0x67, 0x2b, 0x0d, 0x9b, 0x04, 0xe4, 0x5d, 0xed, 0xf3, 0x16, 0xd2, 0x3f, 0x95, 0x93, 0x49, 0x7d,
0x7d, 0xf3, 0x13, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x87, 0xe3, 0xb7, 0xfc, 0x01, 0x00, 0x00, 0xa3, 0x28, 0x98, 0x9c, 0x6a, 0xb3, 0x81, 0x25, 0xf5, 0xc8, 0xdd, 0x39, 0x50, 0x68, 0x4c, 0x01,
0x71, 0x8d, 0x42, 0x1a, 0x67, 0xbd, 0xbb, 0x2c, 0xc2, 0x51, 0x14, 0xf3, 0x51, 0x14, 0x5f, 0xe6,
0xa3, 0x28, 0x95, 0x97, 0xe7, 0x00, 0x6f, 0xbf, 0xb3, 0x7c, 0x16, 0x94, 0xd1, 0x4f, 0x3b, 0xef,
0xb1, 0x1b, 0xc3, 0x87, 0x96, 0x65, 0x68, 0xf6, 0x2b, 0x55, 0xbf, 0xfa, 0x15, 0x00, 0x00, 0xff,
0xff, 0xe1, 0xc9, 0xfa, 0xcc, 0x78, 0x02, 0x00, 0x00,
} }
...@@ -22,6 +22,8 @@ type SSHUploadPackRequest struct { ...@@ -22,6 +22,8 @@ type SSHUploadPackRequest struct {
Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
// A chunk of raw data to be copied to 'git upload-pack' standard input // A chunk of raw data to be copied to 'git upload-pack' standard input
Stdin []byte `protobuf:"bytes,2,opt,name=stdin,proto3" json:"stdin,omitempty"` Stdin []byte `protobuf:"bytes,2,opt,name=stdin,proto3" json:"stdin,omitempty"`
// Parameters to use with git -c (key=value pairs)
GitConfigOptions []string `protobuf:"bytes,4,rep,name=git_config_options,json=gitConfigOptions" json:"git_config_options,omitempty"`
} }
func (m *SSHUploadPackRequest) Reset() { *m = SSHUploadPackRequest{} } func (m *SSHUploadPackRequest) Reset() { *m = SSHUploadPackRequest{} }
...@@ -43,6 +45,13 @@ func (m *SSHUploadPackRequest) GetStdin() []byte { ...@@ -43,6 +45,13 @@ func (m *SSHUploadPackRequest) GetStdin() []byte {
return nil return nil
} }
func (m *SSHUploadPackRequest) GetGitConfigOptions() []string {
if m != nil {
return m.GitConfigOptions
}
return nil
}
type SSHUploadPackResponse struct { type SSHUploadPackResponse struct {
// A chunk of raw data from 'git upload-pack' standard output // A chunk of raw data from 'git upload-pack' standard output
Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"` Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
...@@ -342,25 +351,28 @@ var _SSHService_serviceDesc = grpc.ServiceDesc{ ...@@ -342,25 +351,28 @@ var _SSHService_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("ssh.proto", fileDescriptor9) } func init() { proto.RegisterFile("ssh.proto", fileDescriptor9) }
var fileDescriptor9 = []byte{ var fileDescriptor9 = []byte{
// 307 bytes of a gzipped FileDescriptorProto // 360 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x52, 0xcf, 0x4e, 0x32, 0x31, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x93, 0xc1, 0x4e, 0xf2, 0x40,
0x10, 0xff, 0xfa, 0x09, 0x24, 0x0c, 0x8b, 0x87, 0x11, 0x09, 0x21, 0x6a, 0xc8, 0x7a, 0xe1, 0x44, 0x10, 0xc7, 0xbf, 0xfd, 0x28, 0xe4, 0x63, 0x28, 0x5f, 0xc8, 0x0a, 0xa4, 0x21, 0x6a, 0x48, 0xbd,
0x0c, 0x3c, 0x83, 0x09, 0xde, 0x4c, 0x1b, 0xce, 0xb8, 0xd2, 0xc9, 0xd2, 0xd8, 0xd0, 0xb5, 0x2d, 0xf4, 0x60, 0x88, 0x81, 0x47, 0x30, 0x26, 0xe8, 0x45, 0xb3, 0x0d, 0xe7, 0xa6, 0xb6, 0xeb, 0xb2,
0x04, 0x12, 0x7d, 0x12, 0x1f, 0xc4, 0xd7, 0x33, 0xe9, 0xae, 0xb8, 0x8b, 0x72, 0xd4, 0xdb, 0xce, 0xb1, 0x76, 0xeb, 0xee, 0x40, 0x20, 0xd1, 0x27, 0xf1, 0x11, 0x7c, 0x00, 0x5f, 0xcf, 0xa4, 0xad,
0xfc, 0x76, 0x7e, 0x7f, 0x3a, 0x03, 0x4d, 0xe7, 0x96, 0xa3, 0xcc, 0x1a, 0x6f, 0xb0, 0x91, 0x2a, 0x58, 0x50, 0x8e, 0x7a, 0xdb, 0x99, 0xdf, 0xce, 0xcc, 0x7f, 0x66, 0x76, 0xa1, 0x69, 0xcc, 0x7c,
0x9f, 0xe8, 0x5d, 0x3f, 0x72, 0xcb, 0xc4, 0x92, 0xcc, 0xbb, 0xf1, 0x03, 0x74, 0x84, 0x98, 0xce, 0x94, 0x69, 0x85, 0x8a, 0x36, 0x84, 0xc4, 0x30, 0x59, 0x0f, 0x6c, 0x33, 0x0f, 0x35, 0x8f, 0x0b,
0x32, 0x6d, 0x12, 0x79, 0x9f, 0x2c, 0x9e, 0x38, 0x3d, 0xaf, 0xc9, 0x79, 0x1c, 0x03, 0x58, 0xca, 0xaf, 0xfb, 0x4a, 0xa0, 0xeb, 0xfb, 0xd3, 0x59, 0x96, 0xa8, 0x30, 0xbe, 0x09, 0xa3, 0x7b, 0xc6,
0x8c, 0x53, 0xde, 0xd8, 0x5d, 0x8f, 0x0d, 0xd8, 0xb0, 0x35, 0xc6, 0x51, 0x4e, 0x31, 0xe2, 0x7b, 0x1f, 0x17, 0xdc, 0x20, 0x1d, 0x03, 0x68, 0x9e, 0x29, 0x23, 0x51, 0xe9, 0xb5, 0x43, 0x86, 0xc4,
0x84, 0x97, 0xfe, 0xc2, 0x0e, 0xd4, 0x9d, 0x97, 0x6a, 0xd5, 0xfb, 0x3f, 0x60, 0xc3, 0x88, 0xe7, 0x6b, 0x8d, 0xe9, 0xa8, 0xc8, 0x31, 0x62, 0x1b, 0xc2, 0x2a, 0xb7, 0x68, 0x17, 0xea, 0x06, 0x63,
0x45, 0xfc, 0x02, 0xe7, 0x07, 0x0a, 0x2e, 0x33, 0x2b, 0x47, 0xd8, 0x85, 0x86, 0xf3, 0xd2, 0xac, 0x99, 0x3a, 0x7f, 0x87, 0xc4, 0xb3, 0x59, 0x61, 0xd0, 0x53, 0xa0, 0x42, 0x62, 0x10, 0xa9, 0xf4,
0x7d, 0xa0, 0x8f, 0x78, 0x51, 0x15, 0x7d, 0xb2, 0xb6, 0xe0, 0x29, 0x2a, 0x9c, 0x40, 0x8b, 0xb6, 0x4e, 0x8a, 0x40, 0x65, 0x28, 0x55, 0x6a, 0x1c, 0x6b, 0x58, 0xf3, 0x9a, 0xac, 0x23, 0x24, 0x9e,
0xca, 0xcf, 0x9d, 0x4f, 0xfc, 0xda, 0xf5, 0x4e, 0xaa, 0x9e, 0x6e, 0xb7, 0xca, 0x8b, 0x80, 0x70, 0xe7, 0xe0, 0xba, 0xf0, 0x5f, 0x59, 0xff, 0x6a, 0x1d, 0x8b, 0xf5, 0x2a, 0x11, 0x59, 0xa8, 0xc3,
0xa0, 0xfd, 0x77, 0xfc, 0xc6, 0x82, 0x3c, 0xa7, 0x05, 0xa9, 0x0d, 0xfd, 0x4a, 0x42, 0x3c, 0x83, 0x07, 0x8e, 0x5c, 0x1b, 0xf7, 0x09, 0x7a, 0x3b, 0x62, 0x4d, 0xa6, 0x52, 0xc3, 0x69, 0x1f, 0x1a,
0x7a, 0xaa, 0xe7, 0x4a, 0x06, 0x4b, 0x4d, 0x5e, 0x4b, 0xf5, 0x9d, 0xc4, 0x6b, 0x68, 0xa7, 0x7a, 0x06, 0x63, 0xb5, 0xc0, 0x5c, 0xa9, 0xcd, 0x4a, 0xab, 0xf4, 0x73, 0xad, 0x4b, 0x49, 0xa5, 0x45,
0x5e, 0x52, 0xa8, 0x05, 0x30, 0x4a, 0xf5, 0x17, 0x77, 0xfc, 0x0a, 0xdd, 0x43, 0x73, 0x7f, 0xf8, 0x27, 0xd0, 0xe2, 0x2b, 0x89, 0x81, 0xc1, 0x10, 0x17, 0xc6, 0xa9, 0x6d, 0xb7, 0x77, 0xb1, 0x92,
0x38, 0xe3, 0x77, 0x06, 0x20, 0xc4, 0x54, 0x90, 0xdd, 0xa8, 0x05, 0x21, 0x87, 0x76, 0x65, 0x53, 0xe8, 0xe7, 0x84, 0x01, 0xdf, 0x9c, 0xdd, 0x17, 0x92, 0x97, 0x67, 0x3c, 0xe2, 0x72, 0xc9, 0x7f,
0x78, 0xf1, 0x39, 0xff, 0xd3, 0x89, 0xf4, 0x2f, 0x8f, 0xa0, 0x79, 0x82, 0xf8, 0xdf, 0x90, 0xdd, 0x66, 0x58, 0x07, 0x50, 0x17, 0x49, 0x20, 0xe3, 0x5c, 0x52, 0x93, 0x59, 0x22, 0xb9, 0x8c, 0xe9,
0x30, 0x9c, 0xc1, 0x69, 0x35, 0x21, 0x96, 0xc7, 0xbe, 0xaf, 0xa5, 0x7f, 0x75, 0x0c, 0x2e, 0xd3, 0x09, 0xb4, 0x45, 0x12, 0x54, 0x2a, 0x58, 0x39, 0xb4, 0x45, 0xf2, 0x99, 0xdb, 0x7d, 0x86, 0xfe,
0x3e, 0x36, 0xc2, 0xf5, 0x4e, 0x3e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x79, 0x5b, 0x32, 0x2b, 0xe0, 0xae, 0xb8, 0x5f, 0x1c, 0xce, 0xf8, 0x8d, 0x00, 0xf8, 0xfe, 0xd4, 0xe7, 0x7a, 0x29, 0x23, 0x4e,
0x02, 0x00, 0x00, 0x19, 0xb4, 0xb7, 0x36, 0x45, 0x0f, 0x3f, 0xe2, 0xbf, 0x7b, 0x6d, 0x83, 0xa3, 0x3d, 0xb4, 0xe8,
0xc0, 0xfd, 0xe3, 0x91, 0x33, 0x42, 0x67, 0xf0, 0x7f, 0xbb, 0x43, 0x5a, 0x0d, 0xfb, 0xba, 0x96,
0xc1, 0xf1, 0x3e, 0x5c, 0x4d, 0x7b, 0xdb, 0xc8, 0x7f, 0xc2, 0xe4, 0x3d, 0x00, 0x00, 0xff, 0xff,
0x2e, 0x25, 0xf4, 0x8b, 0x2c, 0x03, 0x00, 0x00,
} }
...@@ -146,12 +146,12 @@ ...@@ -146,12 +146,12 @@
"revisionTime": "2016-11-17T07:43:51Z" "revisionTime": "2016-11-17T07:43:51Z"
}, },
{ {
"checksumSHA1": "kvKqkz5AAO34W1mB4t9bAZdPGEw=", "checksumSHA1": "TEYQhyNOlpU0WpNjmujBqT6++jU=",
"path": "gitlab.com/gitlab-org/gitaly-proto/go", "path": "gitlab.com/gitlab-org/gitaly-proto/go",
"revision": "e61d1eab6f19e153379184d378c72917b6d03dc3", "revision": "30b876cba87a2cc52a5fa5eb92e01df85ad48ff1",
"revisionTime": "2017-07-07T23:49:54Z", "revisionTime": "2017-08-16T10:07:43Z",
"version": "v0.15.0", "version": "v0.29.0",
"versionExact": "v0.15.0" "versionExact": "v0.29.0"
}, },
{ {
"checksumSHA1": "dUHJbKas746n5fLzlwxHb6FOCxs=", "checksumSHA1": "dUHJbKas746n5fLzlwxHb6FOCxs=",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment