diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
index c5523bd09b187d88eb8caeb979852a301d6c2728..5a03fb737b381f0b07b830ba4bb6e87342a7a914 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
@@ -1 +1 @@
-0.17.0
+0.20.0
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go
index 2a04dae721af2c41e828928b340d9de8d7d2a760..2d7224e4bc9d0cbac2537ebe19405245d61256dc 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/blob.pb.go
@@ -36,6 +36,10 @@ It has these top-level messages:
 	ListFilesResponse
 	FindCommitRequest
 	FindCommitResponse
+	FindAllCommitsRequest
+	FindAllCommitsResponse
+	CommitLanguagesRequest
+	CommitLanguagesResponse
 	CommitDiffRequest
 	CommitDiffResponse
 	CommitDeltaRequest
@@ -55,6 +59,8 @@ It has these top-level messages:
 	FindLocalBranchesResponse
 	FindLocalBranchResponse
 	FindLocalBranchCommitAuthor
+	FindAllBranchesRequest
+	FindAllBranchesResponse
 	RepositoryExistsRequest
 	RepositoryExistsResponse
 	RepackIncrementalRequest
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go
index cff48d66792eb97fb6d377c92e2b7dd01fe2e68e..69e2eb992a59299b26ce2244db768878d3fc15a0 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/commit.pb.go
@@ -70,6 +70,32 @@ func (x TreeEntry_EntryType) String() string {
 }
 func (TreeEntry_EntryType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 0} }
 
+type FindAllCommitsRequest_Order int32
+
+const (
+	FindAllCommitsRequest_NONE FindAllCommitsRequest_Order = 0
+	FindAllCommitsRequest_TOPO FindAllCommitsRequest_Order = 1
+	FindAllCommitsRequest_DATE FindAllCommitsRequest_Order = 2
+)
+
+var FindAllCommitsRequest_Order_name = map[int32]string{
+	0: "NONE",
+	1: "TOPO",
+	2: "DATE",
+}
+var FindAllCommitsRequest_Order_value = map[string]int32{
+	"NONE": 0,
+	"TOPO": 1,
+	"DATE": 2,
+}
+
+func (x FindAllCommitsRequest_Order) String() string {
+	return proto.EnumName(FindAllCommitsRequest_Order_name, int32(x))
+}
+func (FindAllCommitsRequest_Order) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor1, []int{17, 0}
+}
+
 type CommitStatsRequest struct {
 	Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
 	Revision   []byte      `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"`
@@ -548,6 +574,146 @@ func (m *FindCommitResponse) GetCommit() *GitCommit {
 	return nil
 }
 
+type FindAllCommitsRequest struct {
+	Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
+	// When nil, return all commits reachable by any branch in the repo
+	Revision []byte                      `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"`
+	MaxCount int32                       `protobuf:"varint,3,opt,name=max_count,json=maxCount" json:"max_count,omitempty"`
+	Skip     int32                       `protobuf:"varint,4,opt,name=skip" json:"skip,omitempty"`
+	Order    FindAllCommitsRequest_Order `protobuf:"varint,5,opt,name=order,enum=gitaly.FindAllCommitsRequest_Order" json:"order,omitempty"`
+}
+
+func (m *FindAllCommitsRequest) Reset()                    { *m = FindAllCommitsRequest{} }
+func (m *FindAllCommitsRequest) String() string            { return proto.CompactTextString(m) }
+func (*FindAllCommitsRequest) ProtoMessage()               {}
+func (*FindAllCommitsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
+
+func (m *FindAllCommitsRequest) GetRepository() *Repository {
+	if m != nil {
+		return m.Repository
+	}
+	return nil
+}
+
+func (m *FindAllCommitsRequest) GetRevision() []byte {
+	if m != nil {
+		return m.Revision
+	}
+	return nil
+}
+
+func (m *FindAllCommitsRequest) GetMaxCount() int32 {
+	if m != nil {
+		return m.MaxCount
+	}
+	return 0
+}
+
+func (m *FindAllCommitsRequest) GetSkip() int32 {
+	if m != nil {
+		return m.Skip
+	}
+	return 0
+}
+
+func (m *FindAllCommitsRequest) GetOrder() FindAllCommitsRequest_Order {
+	if m != nil {
+		return m.Order
+	}
+	return FindAllCommitsRequest_NONE
+}
+
+// A single 'page' of the result set
+type FindAllCommitsResponse struct {
+	Commits []*GitCommit `protobuf:"bytes,1,rep,name=commits" json:"commits,omitempty"`
+}
+
+func (m *FindAllCommitsResponse) Reset()                    { *m = FindAllCommitsResponse{} }
+func (m *FindAllCommitsResponse) String() string            { return proto.CompactTextString(m) }
+func (*FindAllCommitsResponse) ProtoMessage()               {}
+func (*FindAllCommitsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
+
+func (m *FindAllCommitsResponse) GetCommits() []*GitCommit {
+	if m != nil {
+		return m.Commits
+	}
+	return nil
+}
+
+type CommitLanguagesRequest struct {
+	Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
+	Revision   []byte      `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"`
+}
+
+func (m *CommitLanguagesRequest) Reset()                    { *m = CommitLanguagesRequest{} }
+func (m *CommitLanguagesRequest) String() string            { return proto.CompactTextString(m) }
+func (*CommitLanguagesRequest) ProtoMessage()               {}
+func (*CommitLanguagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
+
+func (m *CommitLanguagesRequest) GetRepository() *Repository {
+	if m != nil {
+		return m.Repository
+	}
+	return nil
+}
+
+func (m *CommitLanguagesRequest) GetRevision() []byte {
+	if m != nil {
+		return m.Revision
+	}
+	return nil
+}
+
+type CommitLanguagesResponse struct {
+	Languages []*CommitLanguagesResponse_Language `protobuf:"bytes,1,rep,name=languages" json:"languages,omitempty"`
+}
+
+func (m *CommitLanguagesResponse) Reset()                    { *m = CommitLanguagesResponse{} }
+func (m *CommitLanguagesResponse) String() string            { return proto.CompactTextString(m) }
+func (*CommitLanguagesResponse) ProtoMessage()               {}
+func (*CommitLanguagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{20} }
+
+func (m *CommitLanguagesResponse) GetLanguages() []*CommitLanguagesResponse_Language {
+	if m != nil {
+		return m.Languages
+	}
+	return nil
+}
+
+type CommitLanguagesResponse_Language struct {
+	Name  string  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	Share float32 `protobuf:"fixed32,2,opt,name=share" json:"share,omitempty"`
+	Color string  `protobuf:"bytes,3,opt,name=color" json:"color,omitempty"`
+}
+
+func (m *CommitLanguagesResponse_Language) Reset()         { *m = CommitLanguagesResponse_Language{} }
+func (m *CommitLanguagesResponse_Language) String() string { return proto.CompactTextString(m) }
+func (*CommitLanguagesResponse_Language) ProtoMessage()    {}
+func (*CommitLanguagesResponse_Language) Descriptor() ([]byte, []int) {
+	return fileDescriptor1, []int{20, 0}
+}
+
+func (m *CommitLanguagesResponse_Language) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CommitLanguagesResponse_Language) GetShare() float32 {
+	if m != nil {
+		return m.Share
+	}
+	return 0
+}
+
+func (m *CommitLanguagesResponse_Language) GetColor() string {
+	if m != nil {
+		return m.Color
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CommitStatsRequest)(nil), "gitaly.CommitStatsRequest")
 	proto.RegisterType((*CommitStatsResponse)(nil), "gitaly.CommitStatsResponse")
@@ -566,8 +732,14 @@ func init() {
 	proto.RegisterType((*ListFilesResponse)(nil), "gitaly.ListFilesResponse")
 	proto.RegisterType((*FindCommitRequest)(nil), "gitaly.FindCommitRequest")
 	proto.RegisterType((*FindCommitResponse)(nil), "gitaly.FindCommitResponse")
+	proto.RegisterType((*FindAllCommitsRequest)(nil), "gitaly.FindAllCommitsRequest")
+	proto.RegisterType((*FindAllCommitsResponse)(nil), "gitaly.FindAllCommitsResponse")
+	proto.RegisterType((*CommitLanguagesRequest)(nil), "gitaly.CommitLanguagesRequest")
+	proto.RegisterType((*CommitLanguagesResponse)(nil), "gitaly.CommitLanguagesResponse")
+	proto.RegisterType((*CommitLanguagesResponse_Language)(nil), "gitaly.CommitLanguagesResponse.Language")
 	proto.RegisterEnum("gitaly.TreeEntryResponse_ObjectType", TreeEntryResponse_ObjectType_name, TreeEntryResponse_ObjectType_value)
 	proto.RegisterEnum("gitaly.TreeEntry_EntryType", TreeEntry_EntryType_name, TreeEntry_EntryType_value)
+	proto.RegisterEnum("gitaly.FindAllCommitsRequest_Order", FindAllCommitsRequest_Order_name, FindAllCommitsRequest_Order_value)
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -589,6 +761,9 @@ type CommitServiceClient interface {
 	ListFiles(ctx context.Context, in *ListFilesRequest, opts ...grpc.CallOption) (CommitService_ListFilesClient, error)
 	FindCommit(ctx context.Context, in *FindCommitRequest, opts ...grpc.CallOption) (*FindCommitResponse, error)
 	CommitStats(ctx context.Context, in *CommitStatsRequest, opts ...grpc.CallOption) (*CommitStatsResponse, error)
+	// Use a stream to paginate the result set
+	FindAllCommits(ctx context.Context, in *FindAllCommitsRequest, opts ...grpc.CallOption) (CommitService_FindAllCommitsClient, error)
+	CommitLanguages(ctx context.Context, in *CommitLanguagesRequest, opts ...grpc.CallOption) (*CommitLanguagesResponse, error)
 }
 
 type commitServiceClient struct {
@@ -763,6 +938,47 @@ func (c *commitServiceClient) CommitStats(ctx context.Context, in *CommitStatsRe
 	return out, nil
 }
 
+func (c *commitServiceClient) FindAllCommits(ctx context.Context, in *FindAllCommitsRequest, opts ...grpc.CallOption) (CommitService_FindAllCommitsClient, error) {
+	stream, err := grpc.NewClientStream(ctx, &_CommitService_serviceDesc.Streams[4], c.cc, "/gitaly.CommitService/FindAllCommits", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &commitServiceFindAllCommitsClient{stream}
+	if err := x.ClientStream.SendMsg(in); err != nil {
+		return nil, err
+	}
+	if err := x.ClientStream.CloseSend(); err != nil {
+		return nil, err
+	}
+	return x, nil
+}
+
+type CommitService_FindAllCommitsClient interface {
+	Recv() (*FindAllCommitsResponse, error)
+	grpc.ClientStream
+}
+
+type commitServiceFindAllCommitsClient struct {
+	grpc.ClientStream
+}
+
+func (x *commitServiceFindAllCommitsClient) Recv() (*FindAllCommitsResponse, error) {
+	m := new(FindAllCommitsResponse)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
+func (c *commitServiceClient) CommitLanguages(ctx context.Context, in *CommitLanguagesRequest, opts ...grpc.CallOption) (*CommitLanguagesResponse, error) {
+	out := new(CommitLanguagesResponse)
+	err := grpc.Invoke(ctx, "/gitaly.CommitService/CommitLanguages", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // Server API for CommitService service
 
 type CommitServiceServer interface {
@@ -774,6 +990,9 @@ type CommitServiceServer interface {
 	ListFiles(*ListFilesRequest, CommitService_ListFilesServer) error
 	FindCommit(context.Context, *FindCommitRequest) (*FindCommitResponse, error)
 	CommitStats(context.Context, *CommitStatsRequest) (*CommitStatsResponse, error)
+	// Use a stream to paginate the result set
+	FindAllCommits(*FindAllCommitsRequest, CommitService_FindAllCommitsServer) error
+	CommitLanguages(context.Context, *CommitLanguagesRequest) (*CommitLanguagesResponse, error)
 }
 
 func RegisterCommitServiceServer(s *grpc.Server, srv CommitServiceServer) {
@@ -936,6 +1155,45 @@ func _CommitService_CommitStats_Handler(srv interface{}, ctx context.Context, de
 	return interceptor(ctx, in, info, handler)
 }
 
+func _CommitService_FindAllCommits_Handler(srv interface{}, stream grpc.ServerStream) error {
+	m := new(FindAllCommitsRequest)
+	if err := stream.RecvMsg(m); err != nil {
+		return err
+	}
+	return srv.(CommitServiceServer).FindAllCommits(m, &commitServiceFindAllCommitsServer{stream})
+}
+
+type CommitService_FindAllCommitsServer interface {
+	Send(*FindAllCommitsResponse) error
+	grpc.ServerStream
+}
+
+type commitServiceFindAllCommitsServer struct {
+	grpc.ServerStream
+}
+
+func (x *commitServiceFindAllCommitsServer) Send(m *FindAllCommitsResponse) error {
+	return x.ServerStream.SendMsg(m)
+}
+
+func _CommitService_CommitLanguages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CommitLanguagesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CommitServiceServer).CommitLanguages(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/gitaly.CommitService/CommitLanguages",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CommitServiceServer).CommitLanguages(ctx, req.(*CommitLanguagesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _CommitService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "gitaly.CommitService",
 	HandlerType: (*CommitServiceServer)(nil),
@@ -956,6 +1214,10 @@ var _CommitService_serviceDesc = grpc.ServiceDesc{
 			MethodName: "CommitStats",
 			Handler:    _CommitService_CommitStats_Handler,
 		},
+		{
+			MethodName: "CommitLanguages",
+			Handler:    _CommitService_CommitLanguages_Handler,
+		},
 	},
 	Streams: []grpc.StreamDesc{
 		{
@@ -978,6 +1240,11 @@ var _CommitService_serviceDesc = grpc.ServiceDesc{
 			Handler:       _CommitService_ListFiles_Handler,
 			ServerStreams: true,
 		},
+		{
+			StreamName:    "FindAllCommits",
+			Handler:       _CommitService_FindAllCommits_Handler,
+			ServerStreams: true,
+		},
 	},
 	Metadata: "commit.proto",
 }
@@ -985,56 +1252,68 @@ var _CommitService_serviceDesc = grpc.ServiceDesc{
 func init() { proto.RegisterFile("commit.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 807 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xdd, 0x6e, 0xda, 0x4a,
-	0x10, 0xc6, 0xd8, 0xfc, 0x0d, 0x1c, 0x64, 0xf6, 0x24, 0xe7, 0x10, 0x27, 0x39, 0x41, 0xab, 0x73,
-	0x41, 0x94, 0x8a, 0x46, 0x54, 0x95, 0x7a, 0x57, 0xe5, 0x87, 0xa4, 0xa8, 0x89, 0x90, 0x36, 0x48,
-	0xbd, 0x8c, 0x1c, 0x7b, 0xdb, 0x6c, 0x05, 0x5e, 0x6a, 0x6f, 0x52, 0xd1, 0x3e, 0x41, 0xa5, 0x3e,
-	0x5d, 0xef, 0xfb, 0x26, 0xbd, 0xa8, 0xbc, 0xeb, 0x3f, 0xc0, 0x5c, 0x45, 0xf4, 0x06, 0xed, 0xce,
-	0x8c, 0xe7, 0xfb, 0x76, 0xf6, 0x9b, 0x61, 0xa1, 0xe1, 0xf0, 0xe9, 0x94, 0x89, 0xde, 0xcc, 0xe7,
-	0x82, 0xa3, 0xf2, 0x07, 0x26, 0xec, 0xc9, 0xdc, 0x6a, 0x04, 0xf7, 0xb6, 0x4f, 0x5d, 0x65, 0xc5,
-	0x2e, 0xa0, 0x33, 0x19, 0x75, 0x23, 0x6c, 0x11, 0x10, 0xfa, 0xe9, 0x81, 0x06, 0x02, 0xf5, 0x01,
-	0x7c, 0x3a, 0xe3, 0x01, 0x13, 0xdc, 0x9f, 0xb7, 0xb5, 0x8e, 0xd6, 0xad, 0xf7, 0x51, 0x4f, 0x25,
-	0xe8, 0x91, 0xc4, 0x43, 0x32, 0x51, 0xc8, 0x82, 0xaa, 0x4f, 0x1f, 0x59, 0xc0, 0xb8, 0xd7, 0x2e,
-	0x76, 0xb4, 0x6e, 0x83, 0x24, 0x7b, 0xec, 0xc0, 0xdf, 0x0b, 0x28, 0xc1, 0x8c, 0x7b, 0x01, 0x45,
-	0x26, 0xe8, 0x9c, 0xb9, 0x32, 0x7f, 0x8d, 0x84, 0x4b, 0xb4, 0x07, 0x35, 0xdb, 0x75, 0x99, 0x60,
-	0xdc, 0x0b, 0x64, 0x96, 0x12, 0x49, 0x0d, 0xa1, 0xd7, 0xa5, 0x13, 0xaa, 0xbc, 0xba, 0xf2, 0x26,
-	0x06, 0xfc, 0x4d, 0x83, 0x7f, 0x15, 0xca, 0x30, 0x38, 0xf1, 0x1c, 0x1a, 0x08, 0xee, 0x3f, 0xe5,
-	0x40, 0x07, 0x50, 0xb7, 0xa3, 0x34, 0xb7, 0xcc, 0x95, 0x6c, 0x6a, 0x04, 0x62, 0xd3, 0xd0, 0x45,
-	0x3b, 0x50, 0x75, 0xee, 0xd9, 0xc4, 0x0d, 0xbd, 0xba, 0xf4, 0x56, 0xe4, 0x7e, 0xe8, 0xe2, 0x63,
-	0x68, 0xaf, 0x52, 0x89, 0x4e, 0xbd, 0x05, 0xa5, 0x47, 0x7b, 0xf2, 0x40, 0x25, 0x8d, 0x2a, 0x51,
-	0x1b, 0xfc, 0x5d, 0x03, 0x73, 0xec, 0x53, 0x3a, 0xf0, 0x84, 0x3f, 0xdf, 0xd0, 0x3d, 0x20, 0x04,
-	0xc6, 0xcc, 0x16, 0xf7, 0x92, 0x6d, 0x83, 0xc8, 0x75, 0x48, 0x67, 0xc2, 0xa6, 0x4c, 0xb4, 0x8d,
-	0x8e, 0xd6, 0xd5, 0x89, 0xda, 0xe0, 0x1f, 0x1a, 0xb4, 0x32, 0x74, 0x22, 0xea, 0xaf, 0xc0, 0x10,
-	0xf3, 0x99, 0x62, 0xde, 0xec, 0xff, 0x1f, 0x33, 0x59, 0x09, 0xec, 0x8d, 0xee, 0x3e, 0x52, 0x47,
-	0x8c, 0xe7, 0x33, 0x4a, 0xe4, 0x17, 0xf1, 0x55, 0x17, 0xd3, 0xab, 0x46, 0x60, 0x04, 0xec, 0x0b,
-	0x95, 0x5c, 0x74, 0x22, 0xd7, 0xa1, 0x6d, 0xca, 0x5d, 0x2a, 0xa9, 0x94, 0x88, 0x5c, 0x87, 0x36,
-	0xd7, 0x16, 0x76, 0xbb, 0xa4, 0x38, 0x87, 0x6b, 0xfc, 0x12, 0x20, 0x45, 0x40, 0x00, 0xe5, 0xb3,
-	0xd1, 0xf5, 0xf5, 0x70, 0x6c, 0x16, 0x50, 0x15, 0x8c, 0xd3, 0xab, 0xd1, 0xa9, 0xa9, 0x85, 0xab,
-	0x31, 0x19, 0x0c, 0xcc, 0x22, 0xaa, 0x80, 0x3e, 0x3e, 0xb9, 0x34, 0x75, 0xcc, 0x61, 0x5b, 0xdd,
-	0x4a, 0x70, 0x4a, 0xc5, 0x67, 0x4a, 0xbd, 0xa7, 0xd4, 0x19, 0x81, 0xf1, 0xde, 0xe7, 0xd3, 0xa8,
-	0xc6, 0x72, 0x8d, 0x9a, 0x50, 0x14, 0x3c, 0xaa, 0x6e, 0x51, 0x70, 0x3c, 0x80, 0x7f, 0x96, 0x01,
-	0xa3, 0x4a, 0x1e, 0x41, 0x45, 0x75, 0x67, 0xd0, 0xd6, 0x3a, 0x7a, 0xb7, 0xde, 0x6f, 0xc5, 0x70,
-	0x97, 0x4c, 0xa8, 0x6f, 0x48, 0x1c, 0x81, 0x69, 0xd8, 0x3e, 0x0f, 0x5e, 0x64, 0xdf, 0x58, 0x97,
-	0x3e, 0x83, 0xad, 0x45, 0x98, 0x54, 0xb0, 0x4e, 0x68, 0x97, 0x10, 0x25, 0xa2, 0x36, 0xf8, 0xa7,
-	0x06, 0xb5, 0xe4, 0xe2, 0x73, 0x5a, 0x79, 0x07, 0xaa, 0x3e, 0xe7, 0xe2, 0x36, 0xbd, 0xf6, 0x4a,
-	0xb8, 0x1f, 0xa9, 0xab, 0x5f, 0x91, 0xe1, 0xf3, 0x48, 0x5a, 0x86, 0x94, 0xd6, 0xee, 0x8a, 0xb4,
-	0x7a, 0xf2, 0x37, 0xa3, 0xa8, 0x58, 0x2b, 0xa5, 0x8c, 0x56, 0xf6, 0x01, 0x54, 0xcd, 0x24, 0x6a,
-	0x59, 0xa2, 0xd6, 0x94, 0x65, 0xc4, 0x5c, 0x7c, 0x04, 0xb5, 0x24, 0x4b, 0xa2, 0x94, 0x42, 0xa2,
-	0x14, 0x2d, 0xa3, 0x24, 0x1d, 0x7f, 0x85, 0xed, 0x4b, 0x2a, 0x62, 0x7c, 0x46, 0x83, 0x3f, 0xd8,
-	0x94, 0xa1, 0x70, 0x96, 0xc1, 0x53, 0xe1, 0x50, 0x65, 0x5a, 0x16, 0x4e, 0xda, 0x85, 0x71, 0x04,
-	0xbe, 0x03, 0xf3, 0x8a, 0x05, 0xe2, 0x82, 0x4d, 0x36, 0x46, 0x1f, 0x1f, 0x42, 0x2b, 0x83, 0x91,
-	0x4a, 0x26, 0x3c, 0x87, 0xe2, 0xd8, 0x20, 0x6a, 0x83, 0x1d, 0x68, 0x5d, 0x30, 0xcf, 0x8d, 0xe4,
-	0xbd, 0x21, 0x3e, 0xaf, 0x01, 0x65, 0x41, 0x22, 0x42, 0x87, 0x50, 0x56, 0x3a, 0x88, 0x10, 0x72,
-	0xda, 0x2d, 0x0a, 0xe8, 0xff, 0x32, 0xe0, 0xaf, 0xe8, 0xdf, 0x8a, 0xfa, 0x8f, 0xcc, 0xa1, 0xe8,
-	0x1d, 0x98, 0xcb, 0xd3, 0x1c, 0x1d, 0xc4, 0x09, 0xd6, 0xfc, 0xe5, 0x58, 0x9d, 0xf5, 0x01, 0x8a,
-	0x13, 0x2e, 0xa0, 0xf3, 0x6c, 0x0b, 0xb5, 0x73, 0xc6, 0xa9, 0x4a, 0xb5, 0xb3, 0x76, 0xd0, 0xe2,
-	0xc2, 0xb1, 0x86, 0x6e, 0xa0, 0xb9, 0x38, 0x65, 0xd0, 0xfe, 0x22, 0xf6, 0xd2, 0xb8, 0xb3, 0xfe,
-	0x5b, 0xe7, 0xce, 0x24, 0x7d, 0x0b, 0x8d, 0xec, 0x30, 0x40, 0xbb, 0xe9, 0x37, 0x2b, 0x93, 0xc8,
-	0xda, 0xcb, 0x77, 0x26, 0xe7, 0xbc, 0x81, 0xe6, 0xa2, 0x9c, 0x53, 0x86, 0xb9, 0x3d, 0x96, 0x32,
-	0xcc, 0xef, 0x02, 0xc9, 0xf0, 0x1c, 0x6a, 0x89, 0xf0, 0xd2, 0xe2, 0x2d, 0xeb, 0x3d, 0x2d, 0xde,
-	0x8a, 0x4a, 0x65, 0x96, 0x01, 0x40, 0x2a, 0x17, 0x94, 0x04, 0xaf, 0xe8, 0xd4, 0xb2, 0xf2, 0x5c,
-	0xc9, 0x09, 0xdf, 0x40, 0x3d, 0xf3, 0xc2, 0x41, 0xd6, 0x62, 0x85, 0xb3, 0x8f, 0x2b, 0x6b, 0x37,
-	0xd7, 0x17, 0x67, 0xba, 0x2b, 0xcb, 0x87, 0xd9, 0x8b, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdc,
-	0x23, 0x27, 0xce, 0xbe, 0x09, 0x00, 0x00,
+	// 1008 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdd, 0x6e, 0xe3, 0x44,
+	0x14, 0x8e, 0xf3, 0xd7, 0xf8, 0x34, 0x04, 0x77, 0xd8, 0x85, 0xd4, 0xdd, 0xdd, 0x46, 0x03, 0x48,
+	0x59, 0x2d, 0x0a, 0xab, 0x20, 0x24, 0xb8, 0x42, 0xed, 0x36, 0x2d, 0x85, 0xee, 0x1a, 0x4d, 0x23,
+	0x71, 0x59, 0xb9, 0xf1, 0xd0, 0x0e, 0x38, 0x9e, 0x60, 0x4f, 0xcb, 0x06, 0x9e, 0x00, 0x89, 0xf7,
+	0xe0, 0x8a, 0x97, 0xe1, 0x9e, 0x17, 0xe1, 0x0a, 0xcd, 0x8f, 0xff, 0x12, 0x47, 0x48, 0xac, 0xc2,
+	0x4d, 0x74, 0x7e, 0xc6, 0xe7, 0x7c, 0x73, 0xe6, 0x3b, 0x67, 0x26, 0xd0, 0x9d, 0xf1, 0xf9, 0x9c,
+	0x89, 0xd1, 0x22, 0xe6, 0x82, 0xa3, 0xf6, 0x0d, 0x13, 0x7e, 0xb8, 0x74, 0xbb, 0xc9, 0xad, 0x1f,
+	0xd3, 0x40, 0x5b, 0x71, 0x00, 0xe8, 0x85, 0x5a, 0x75, 0x29, 0x7c, 0x91, 0x10, 0xfa, 0xe3, 0x1d,
+	0x4d, 0x04, 0x1a, 0x03, 0xc4, 0x74, 0xc1, 0x13, 0x26, 0x78, 0xbc, 0xec, 0x5b, 0x03, 0x6b, 0xb8,
+	0x3b, 0x46, 0x23, 0x1d, 0x60, 0x44, 0x32, 0x0f, 0x29, 0xac, 0x42, 0x2e, 0x74, 0x62, 0x7a, 0xcf,
+	0x12, 0xc6, 0xa3, 0x7e, 0x7d, 0x60, 0x0d, 0xbb, 0x24, 0xd3, 0xf1, 0x0c, 0xde, 0x29, 0x65, 0x49,
+	0x16, 0x3c, 0x4a, 0x28, 0x72, 0xa0, 0xc1, 0x59, 0xa0, 0xe2, 0xdb, 0x44, 0x8a, 0xe8, 0x11, 0xd8,
+	0x7e, 0x10, 0x30, 0xc1, 0x78, 0x94, 0xa8, 0x28, 0x2d, 0x92, 0x1b, 0xa4, 0x37, 0xa0, 0x21, 0xd5,
+	0xde, 0x86, 0xf6, 0x66, 0x06, 0xfc, 0xab, 0x05, 0xef, 0xe9, 0x2c, 0xe7, 0xc9, 0x51, 0x34, 0xa3,
+	0x89, 0xe0, 0xf1, 0x9b, 0x6c, 0xe8, 0x10, 0x76, 0x7d, 0x13, 0xe6, 0x8a, 0x05, 0x0a, 0x8d, 0x4d,
+	0x20, 0x35, 0x9d, 0x07, 0x68, 0x1f, 0x3a, 0xb3, 0x5b, 0x16, 0x06, 0xd2, 0xdb, 0x50, 0xde, 0x1d,
+	0xa5, 0x9f, 0x07, 0xf8, 0x39, 0xf4, 0xd7, 0xa1, 0x98, 0x5d, 0x3f, 0x80, 0xd6, 0xbd, 0x1f, 0xde,
+	0x51, 0x05, 0xa3, 0x43, 0xb4, 0x82, 0x7f, 0xb3, 0xc0, 0x99, 0xc6, 0x94, 0x4e, 0x22, 0x11, 0x2f,
+	0xb7, 0x74, 0x0e, 0x08, 0x41, 0x73, 0xe1, 0x8b, 0x5b, 0x85, 0xb6, 0x4b, 0x94, 0x2c, 0xe1, 0x84,
+	0x6c, 0xce, 0x44, 0xbf, 0x39, 0xb0, 0x86, 0x0d, 0xa2, 0x15, 0xfc, 0xa7, 0x05, 0x7b, 0x05, 0x38,
+	0x06, 0xfa, 0x67, 0xd0, 0x14, 0xcb, 0x85, 0x46, 0xde, 0x1b, 0x7f, 0x90, 0x22, 0x59, 0x5b, 0x38,
+	0xf2, 0xae, 0xbf, 0xa7, 0x33, 0x31, 0x5d, 0x2e, 0x28, 0x51, 0x5f, 0xa4, 0x47, 0x5d, 0xcf, 0x8f,
+	0x1a, 0x41, 0x33, 0x61, 0x3f, 0x53, 0x85, 0xa5, 0x41, 0x94, 0x2c, 0x6d, 0x73, 0x1e, 0x50, 0x05,
+	0xa5, 0x45, 0x94, 0x2c, 0x6d, 0x81, 0x2f, 0xfc, 0x7e, 0x4b, 0x63, 0x96, 0x32, 0xfe, 0x14, 0x20,
+	0xcf, 0x80, 0x00, 0xda, 0x2f, 0xbc, 0x97, 0x2f, 0xcf, 0xa7, 0x4e, 0x0d, 0x75, 0xa0, 0x79, 0x7c,
+	0xe1, 0x1d, 0x3b, 0x96, 0x94, 0xa6, 0x64, 0x32, 0x71, 0xea, 0x68, 0x07, 0x1a, 0xd3, 0xa3, 0x33,
+	0xa7, 0x81, 0x39, 0x3c, 0xd4, 0xa7, 0x92, 0x1c, 0x53, 0xf1, 0x13, 0xa5, 0xd1, 0x9b, 0xd4, 0x19,
+	0x41, 0xf3, 0xbb, 0x98, 0xcf, 0x4d, 0x8d, 0x95, 0x8c, 0x7a, 0x50, 0x17, 0xdc, 0x54, 0xb7, 0x2e,
+	0x38, 0x9e, 0xc0, 0xbb, 0xab, 0x09, 0x4d, 0x25, 0x9f, 0xc1, 0x8e, 0xee, 0xce, 0xa4, 0x6f, 0x0d,
+	0x1a, 0xc3, 0xdd, 0xf1, 0x5e, 0x9a, 0xee, 0x8c, 0x09, 0xfd, 0x0d, 0x49, 0x57, 0x60, 0x2a, 0xdb,
+	0xe7, 0x2e, 0x32, 0xf6, 0xad, 0x75, 0xe9, 0x47, 0xf0, 0xa0, 0x9c, 0x26, 0x27, 0xec, 0x4c, 0xda,
+	0x55, 0x8a, 0x16, 0xd1, 0x0a, 0xfe, 0xcb, 0x02, 0x3b, 0x3b, 0xf8, 0x8a, 0x56, 0xde, 0x87, 0x4e,
+	0xcc, 0xb9, 0xb8, 0xca, 0x8f, 0x7d, 0x47, 0xea, 0x9e, 0x3e, 0xfa, 0x35, 0x1a, 0x7e, 0x6c, 0xa8,
+	0xd5, 0x54, 0xd4, 0x3a, 0x58, 0xa3, 0xd6, 0x48, 0xfd, 0x16, 0x18, 0x95, 0x72, 0xa5, 0x55, 0xe0,
+	0xca, 0x63, 0x00, 0x5d, 0x33, 0x95, 0xb5, 0xad, 0xb2, 0xda, 0xda, 0xe2, 0xb1, 0x00, 0x3f, 0x03,
+	0x3b, 0x8b, 0x92, 0x31, 0xa5, 0x96, 0x31, 0xc5, 0x2a, 0x30, 0xa9, 0x81, 0x7f, 0x81, 0x87, 0x67,
+	0x54, 0xa4, 0xf9, 0x19, 0x4d, 0xfe, 0xc7, 0xa6, 0x94, 0xc4, 0x59, 0x4d, 0x9e, 0x13, 0x87, 0x6a,
+	0xd3, 0x2a, 0x71, 0xf2, 0x2e, 0x4c, 0x57, 0xe0, 0x6b, 0x70, 0x2e, 0x58, 0x22, 0x4e, 0x59, 0xb8,
+	0x35, 0xf8, 0xf8, 0x29, 0xec, 0x15, 0x72, 0xe4, 0x94, 0x91, 0xfb, 0xd0, 0x18, 0xbb, 0x44, 0x2b,
+	0x78, 0x06, 0x7b, 0xa7, 0x2c, 0x0a, 0x0c, 0xbd, 0xb7, 0x84, 0xe7, 0x0b, 0x40, 0xc5, 0x24, 0x06,
+	0xd0, 0x53, 0x68, 0x6b, 0x1e, 0x98, 0x0c, 0x15, 0xed, 0x66, 0x16, 0xe0, 0xbf, 0x2d, 0x78, 0x28,
+	0x23, 0x1c, 0x85, 0xe1, 0x76, 0x1b, 0x0e, 0x1d, 0x80, 0x3d, 0xf7, 0x5f, 0x5f, 0xe9, 0xe6, 0xd2,
+	0xf7, 0x59, 0x67, 0xee, 0xbf, 0x56, 0x4d, 0xa8, 0xe6, 0xe3, 0x0f, 0x6c, 0x91, 0xce, 0x42, 0x29,
+	0xa3, 0xcf, 0xa1, 0xc5, 0xe3, 0x80, 0xc6, 0x8a, 0xf4, 0xbd, 0xf1, 0xfb, 0x69, 0xee, 0x4a, 0xb8,
+	0x23, 0x4f, 0x2e, 0x25, 0xfa, 0x0b, 0xfc, 0x21, 0xb4, 0x94, 0x2e, 0xd9, 0xfe, 0xca, 0x7b, 0x35,
+	0x31, 0xbc, 0xf7, 0xbe, 0xf1, 0xf4, 0xac, 0x3c, 0x39, 0x9a, 0x4e, 0x9c, 0xba, 0x24, 0xde, 0x6a,
+	0xb0, 0xff, 0x32, 0xb1, 0x6e, 0xd3, 0xc1, 0x77, 0xe1, 0x47, 0x37, 0x77, 0xfe, 0xcd, 0xf6, 0xe8,
+	0xf7, 0x47, 0x76, 0xeb, 0x17, 0x52, 0x19, 0xc8, 0xa7, 0x60, 0x87, 0xa9, 0xd1, 0x80, 0x1e, 0xa6,
+	0xa9, 0x36, 0x7c, 0x33, 0x4a, 0x2d, 0x24, 0xff, 0xd4, 0xfd, 0x0a, 0x3a, 0xa9, 0x59, 0x1e, 0x4b,
+	0xe4, 0xcf, 0xa9, 0x99, 0x74, 0x4a, 0x96, 0x6c, 0x57, 0x8f, 0x2a, 0x05, 0xae, 0x4e, 0xb4, 0xa2,
+	0xc7, 0x66, 0xc8, 0x63, 0xf3, 0x36, 0xd0, 0xca, 0xf8, 0xf7, 0x36, 0xbc, 0x65, 0xde, 0x42, 0x34,
+	0xbe, 0x67, 0x33, 0x8a, 0xbe, 0x05, 0x67, 0xf5, 0xad, 0x80, 0x0e, 0xcb, 0x30, 0xd7, 0x1e, 0x34,
+	0xee, 0x60, 0xf3, 0x02, 0xbd, 0x11, 0x5c, 0x43, 0x27, 0xc5, 0x01, 0xdd, 0xaf, 0xb8, 0xac, 0x75,
+	0xa8, 0xfd, 0x8d, 0xd7, 0x38, 0xae, 0x3d, 0xb7, 0xd0, 0x25, 0xf4, 0xca, 0x77, 0x18, 0x7a, 0x5c,
+	0xce, 0xbd, 0x72, 0x99, 0xba, 0x4f, 0x36, 0xb9, 0x0b, 0x41, 0xbf, 0x86, 0x6e, 0xf1, 0xaa, 0x41,
+	0x07, 0xf9, 0x37, 0x6b, 0xf7, 0x9c, 0xfb, 0xa8, 0xda, 0x99, 0xed, 0xf3, 0x12, 0x7a, 0xe5, 0x61,
+	0x99, 0x23, 0xac, 0x9c, 0xe0, 0x39, 0xc2, 0xea, 0x19, 0xab, 0x10, 0x9e, 0x80, 0x9d, 0x8d, 0xb5,
+	0xbc, 0x78, 0xab, 0xd3, 0x34, 0x2f, 0xde, 0xda, 0x0c, 0x54, 0x51, 0x26, 0x00, 0xf9, 0x30, 0x42,
+	0xfb, 0xc5, 0x7e, 0x2d, 0x4d, 0x41, 0xd7, 0xad, 0x72, 0x65, 0x3b, 0xfc, 0x12, 0x76, 0x0b, 0xef,
+	0x67, 0xe4, 0x96, 0x2b, 0x5c, 0x7c, 0xba, 0xbb, 0x07, 0x95, 0xbe, 0x62, 0xad, 0xca, 0xfd, 0x9d,
+	0xd7, 0xaa, 0x72, 0x88, 0xe4, 0xb5, 0xaa, 0x1e, 0x0b, 0x6a, 0x97, 0x53, 0x78, 0x7b, 0xa5, 0x9d,
+	0xd0, 0x93, 0x8d, 0x7d, 0xa6, 0xc3, 0x1e, 0xfe, 0x4b, 0x1f, 0xe2, 0xda, 0x75, 0x5b, 0xfd, 0x43,
+	0xf9, 0xe4, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0x28, 0x96, 0x2a, 0xc7, 0x0c, 0x00, 0x00,
 }
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go
index 1ce9b0f4b5fad27fab99ad2f870d94d3470dc864..5c75a232734a29fee428cc5ceb30b22530659d97 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ref.pb.go
@@ -311,6 +311,64 @@ func (m *FindLocalBranchCommitAuthor) GetDate() *google_protobuf.Timestamp {
 	return nil
 }
 
+type FindAllBranchesRequest struct {
+	Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"`
+}
+
+func (m *FindAllBranchesRequest) Reset()                    { *m = FindAllBranchesRequest{} }
+func (m *FindAllBranchesRequest) String() string            { return proto.CompactTextString(m) }
+func (*FindAllBranchesRequest) ProtoMessage()               {}
+func (*FindAllBranchesRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{12} }
+
+func (m *FindAllBranchesRequest) GetRepository() *Repository {
+	if m != nil {
+		return m.Repository
+	}
+	return nil
+}
+
+type FindAllBranchesResponse struct {
+	Branches []*FindAllBranchesResponse_Branch `protobuf:"bytes,1,rep,name=branches" json:"branches,omitempty"`
+}
+
+func (m *FindAllBranchesResponse) Reset()                    { *m = FindAllBranchesResponse{} }
+func (m *FindAllBranchesResponse) String() string            { return proto.CompactTextString(m) }
+func (*FindAllBranchesResponse) ProtoMessage()               {}
+func (*FindAllBranchesResponse) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{13} }
+
+func (m *FindAllBranchesResponse) GetBranches() []*FindAllBranchesResponse_Branch {
+	if m != nil {
+		return m.Branches
+	}
+	return nil
+}
+
+type FindAllBranchesResponse_Branch struct {
+	Name   []byte     `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	Target *GitCommit `protobuf:"bytes,2,opt,name=target" json:"target,omitempty"`
+}
+
+func (m *FindAllBranchesResponse_Branch) Reset()         { *m = FindAllBranchesResponse_Branch{} }
+func (m *FindAllBranchesResponse_Branch) String() string { return proto.CompactTextString(m) }
+func (*FindAllBranchesResponse_Branch) ProtoMessage()    {}
+func (*FindAllBranchesResponse_Branch) Descriptor() ([]byte, []int) {
+	return fileDescriptor5, []int{13, 0}
+}
+
+func (m *FindAllBranchesResponse_Branch) GetName() []byte {
+	if m != nil {
+		return m.Name
+	}
+	return nil
+}
+
+func (m *FindAllBranchesResponse_Branch) GetTarget() *GitCommit {
+	if m != nil {
+		return m.Target
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*FindDefaultBranchNameRequest)(nil), "gitaly.FindDefaultBranchNameRequest")
 	proto.RegisterType((*FindDefaultBranchNameResponse)(nil), "gitaly.FindDefaultBranchNameResponse")
@@ -324,6 +382,9 @@ func init() {
 	proto.RegisterType((*FindLocalBranchesResponse)(nil), "gitaly.FindLocalBranchesResponse")
 	proto.RegisterType((*FindLocalBranchResponse)(nil), "gitaly.FindLocalBranchResponse")
 	proto.RegisterType((*FindLocalBranchCommitAuthor)(nil), "gitaly.FindLocalBranchCommitAuthor")
+	proto.RegisterType((*FindAllBranchesRequest)(nil), "gitaly.FindAllBranchesRequest")
+	proto.RegisterType((*FindAllBranchesResponse)(nil), "gitaly.FindAllBranchesResponse")
+	proto.RegisterType((*FindAllBranchesResponse_Branch)(nil), "gitaly.FindAllBranchesResponse.Branch")
 	proto.RegisterEnum("gitaly.FindLocalBranchesRequest_SortBy", FindLocalBranchesRequest_SortBy_name, FindLocalBranchesRequest_SortBy_value)
 }
 
@@ -345,6 +406,7 @@ type RefServiceClient interface {
 	FindRefName(ctx context.Context, in *FindRefNameRequest, opts ...grpc.CallOption) (*FindRefNameResponse, error)
 	// Return a stream so we can divide the response in chunks of branches
 	FindLocalBranches(ctx context.Context, in *FindLocalBranchesRequest, opts ...grpc.CallOption) (RefService_FindLocalBranchesClient, error)
+	FindAllBranches(ctx context.Context, in *FindAllBranchesRequest, opts ...grpc.CallOption) (RefService_FindAllBranchesClient, error)
 }
 
 type refServiceClient struct {
@@ -469,6 +531,38 @@ func (x *refServiceFindLocalBranchesClient) Recv() (*FindLocalBranchesResponse,
 	return m, nil
 }
 
+func (c *refServiceClient) FindAllBranches(ctx context.Context, in *FindAllBranchesRequest, opts ...grpc.CallOption) (RefService_FindAllBranchesClient, error) {
+	stream, err := grpc.NewClientStream(ctx, &_RefService_serviceDesc.Streams[3], c.cc, "/gitaly.RefService/FindAllBranches", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &refServiceFindAllBranchesClient{stream}
+	if err := x.ClientStream.SendMsg(in); err != nil {
+		return nil, err
+	}
+	if err := x.ClientStream.CloseSend(); err != nil {
+		return nil, err
+	}
+	return x, nil
+}
+
+type RefService_FindAllBranchesClient interface {
+	Recv() (*FindAllBranchesResponse, error)
+	grpc.ClientStream
+}
+
+type refServiceFindAllBranchesClient struct {
+	grpc.ClientStream
+}
+
+func (x *refServiceFindAllBranchesClient) Recv() (*FindAllBranchesResponse, error) {
+	m := new(FindAllBranchesResponse)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 // Server API for RefService service
 
 type RefServiceServer interface {
@@ -479,6 +573,7 @@ type RefServiceServer interface {
 	FindRefName(context.Context, *FindRefNameRequest) (*FindRefNameResponse, error)
 	// Return a stream so we can divide the response in chunks of branches
 	FindLocalBranches(*FindLocalBranchesRequest, RefService_FindLocalBranchesServer) error
+	FindAllBranches(*FindAllBranchesRequest, RefService_FindAllBranchesServer) error
 }
 
 func RegisterRefServiceServer(s *grpc.Server, srv RefServiceServer) {
@@ -584,6 +679,27 @@ func (x *refServiceFindLocalBranchesServer) Send(m *FindLocalBranchesResponse) e
 	return x.ServerStream.SendMsg(m)
 }
 
+func _RefService_FindAllBranches_Handler(srv interface{}, stream grpc.ServerStream) error {
+	m := new(FindAllBranchesRequest)
+	if err := stream.RecvMsg(m); err != nil {
+		return err
+	}
+	return srv.(RefServiceServer).FindAllBranches(m, &refServiceFindAllBranchesServer{stream})
+}
+
+type RefService_FindAllBranchesServer interface {
+	Send(*FindAllBranchesResponse) error
+	grpc.ServerStream
+}
+
+type refServiceFindAllBranchesServer struct {
+	grpc.ServerStream
+}
+
+func (x *refServiceFindAllBranchesServer) Send(m *FindAllBranchesResponse) error {
+	return x.ServerStream.SendMsg(m)
+}
+
 var _RefService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "gitaly.RefService",
 	HandlerType: (*RefServiceServer)(nil),
@@ -613,6 +729,11 @@ var _RefService_serviceDesc = grpc.ServiceDesc{
 			Handler:       _RefService_FindLocalBranches_Handler,
 			ServerStreams: true,
 		},
+		{
+			StreamName:    "FindAllBranches",
+			Handler:       _RefService_FindAllBranches_Handler,
+			ServerStreams: true,
+		},
 	},
 	Metadata: "ref.proto",
 }
@@ -620,44 +741,48 @@ var _RefService_serviceDesc = grpc.ServiceDesc{
 func init() { proto.RegisterFile("ref.proto", fileDescriptor5) }
 
 var fileDescriptor5 = []byte{
-	// 620 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
-	0x10, 0xad, 0xdb, 0x34, 0xb4, 0x13, 0xd3, 0x86, 0xa5, 0x14, 0xe3, 0x02, 0x4d, 0x0d, 0x15, 0xe5,
-	0xe2, 0x22, 0x57, 0x9c, 0xb8, 0x90, 0x26, 0x45, 0x45, 0x2a, 0x05, 0x6d, 0x02, 0xe2, 0x80, 0x14,
-	0x6d, 0x9c, 0x75, 0x62, 0x64, 0x67, 0xc3, 0x7a, 0x03, 0xe4, 0xc0, 0x17, 0xf0, 0x61, 0x7c, 0x01,
-	0xff, 0x83, 0xb2, 0x6b, 0xa7, 0x4e, 0x6a, 0xbb, 0x48, 0x39, 0x39, 0x33, 0xfb, 0xde, 0xcc, 0xec,
-	0xbc, 0xec, 0x83, 0x4d, 0x4e, 0x3d, 0x7b, 0xc4, 0x99, 0x60, 0xa8, 0xdc, 0xf7, 0x05, 0x09, 0x26,
-	0xa6, 0x1e, 0x0d, 0x08, 0xa7, 0x3d, 0x95, 0x35, 0xf7, 0xfb, 0x8c, 0xf5, 0x03, 0x7a, 0x2c, 0xa3,
-	0xee, 0xd8, 0x3b, 0x16, 0x7e, 0x48, 0x23, 0x41, 0xc2, 0x91, 0x02, 0x58, 0x18, 0x1e, 0xbe, 0xf1,
-	0x87, 0xbd, 0x26, 0xf5, 0xc8, 0x38, 0x10, 0xa7, 0x9c, 0x0c, 0xdd, 0xc1, 0x25, 0x09, 0x29, 0xa6,
-	0xdf, 0xc6, 0x34, 0x12, 0xc8, 0x01, 0xe0, 0x74, 0xc4, 0x22, 0x5f, 0x30, 0x3e, 0x31, 0xb4, 0x9a,
-	0x76, 0x54, 0x71, 0x90, 0xad, 0x7a, 0xd9, 0x78, 0x76, 0x82, 0x53, 0x28, 0xeb, 0x04, 0x1e, 0xe5,
-	0xd4, 0x8c, 0x46, 0x6c, 0x18, 0x51, 0x84, 0xa0, 0x34, 0x24, 0x21, 0x95, 0xe5, 0x74, 0x2c, 0x7f,
-	0x5b, 0xef, 0xe1, 0xc1, 0x94, 0x54, 0x0f, 0x82, 0x2b, 0x42, 0xb4, 0xcc, 0x14, 0x0e, 0x98, 0x59,
-	0x05, 0xe3, 0x11, 0x76, 0x60, 0x7d, 0xda, 0x36, 0x32, 0xb4, 0xda, 0xda, 0x91, 0x8e, 0x55, 0x60,
-	0x5d, 0xc0, 0x6e, 0xcc, 0x69, 0x93, 0xfe, 0xd2, 0x13, 0x1c, 0xc3, 0xfd, 0x6b, 0xd5, 0x0a, 0xdb,
-	0xff, 0x02, 0x34, 0x25, 0x60, 0xea, 0x2d, 0x29, 0x01, 0xda, 0x83, 0x4d, 0x97, 0x85, 0xa1, 0x2f,
-	0x3a, 0x7e, 0xcf, 0x58, 0xad, 0x69, 0x47, 0x9b, 0x78, 0x43, 0x25, 0xde, 0xf6, 0xd0, 0x2e, 0x94,
-	0x47, 0x9c, 0x7a, 0xfe, 0x4f, 0x63, 0x4d, 0x0a, 0x10, 0x47, 0xd6, 0x73, 0xb8, 0x3b, 0xd7, 0xbe,
-	0x40, 0xad, 0x3f, 0x1a, 0x18, 0x53, 0xec, 0x05, 0x73, 0x49, 0xbc, 0xdf, 0xa5, 0x76, 0x85, 0x5e,
-	0xc3, 0xad, 0x88, 0x71, 0xd1, 0xe9, 0x4e, 0xe4, 0xb8, 0x5b, 0xce, 0xb3, 0x84, 0x90, 0xd7, 0xc6,
-	0x6e, 0x31, 0x2e, 0x4e, 0x27, 0xb8, 0x1c, 0xc9, 0xaf, 0xf5, 0x12, 0xca, 0x2a, 0x83, 0x36, 0xa0,
-	0x74, 0x59, 0x7f, 0x77, 0x56, 0x5d, 0x41, 0xdb, 0x50, 0xf9, 0xf8, 0xa1, 0x59, 0x6f, 0x9f, 0x35,
-	0x3b, 0xf5, 0x56, 0xa3, 0xaa, 0xa1, 0x2a, 0xe8, 0x49, 0xa2, 0x79, 0xd6, 0x6a, 0x54, 0x57, 0xad,
-	0xcf, 0xea, 0x7f, 0xb7, 0xd0, 0x21, 0xbe, 0xfa, 0x2b, 0xd8, 0xe8, 0xc6, 0x39, 0xa9, 0x54, 0xc5,
-	0xd9, 0xcf, 0x19, 0x2b, 0xa1, 0xe0, 0x19, 0xc1, 0xfa, 0xbd, 0xaa, 0xf4, 0xcf, 0x40, 0x65, 0xed,
-	0xb4, 0x58, 0xb3, 0x43, 0xd8, 0x8a, 0x0f, 0xa3, 0x71, 0xf7, 0x2b, 0x75, 0x45, 0xac, 0xdd, 0x6d,
-	0x95, 0x6d, 0xa9, 0x24, 0x3a, 0x87, 0x38, 0xd1, 0x21, 0x63, 0x31, 0x60, 0xdc, 0x28, 0xc9, 0xed,
-	0x3f, 0xc9, 0x99, 0xba, 0x21, 0xb1, 0x75, 0x09, 0xc5, 0xba, 0x9b, 0x8a, 0xd0, 0x25, 0x54, 0xe3,
-	0x4a, 0xea, 0x23, 0x28, 0x37, 0xd6, 0xff, 0xbf, 0xd8, 0xb6, 0x62, 0x35, 0x12, 0xae, 0xf5, 0x03,
-	0xf6, 0x0a, 0xf0, 0x99, 0x0b, 0xd9, 0x81, 0x75, 0x1a, 0x12, 0x3f, 0x90, 0xcb, 0xd0, 0xb1, 0x0a,
-	0x90, 0x0d, 0xa5, 0x1e, 0x11, 0x54, 0xde, 0xbf, 0xe2, 0x98, 0xb6, 0x72, 0x38, 0x3b, 0x71, 0x38,
-	0xbb, 0x9d, 0x38, 0x1c, 0x96, 0x38, 0xe7, 0xef, 0x1a, 0x00, 0xa6, 0x5e, 0x8b, 0xf2, 0xef, 0xbe,
-	0x4b, 0x91, 0x07, 0xf7, 0x32, 0xcd, 0x09, 0x3d, 0x4d, 0x5f, 0x2b, 0xcf, 0x0f, 0xcd, 0xc3, 0x1b,
-	0x50, 0x4a, 0x5f, 0x6b, 0x05, 0x75, 0xd4, 0x5b, 0x9e, 0xb7, 0x1f, 0x74, 0x90, 0xa6, 0x67, 0x7a,
-	0x9d, 0x69, 0x15, 0x41, 0x92, 0xf2, 0x2f, 0x34, 0xf4, 0x09, 0xb6, 0x17, 0xdc, 0x05, 0x3d, 0x5e,
-	0xa0, 0x2e, 0x98, 0x98, 0xb9, 0x9f, 0x7b, 0x9e, 0xaa, 0x7b, 0x0e, 0x95, 0x94, 0x0b, 0x20, 0x33,
-	0xcd, 0x99, 0x77, 0x26, 0x73, 0x2f, 0xf3, 0x6c, 0xb6, 0x82, 0x2f, 0x70, 0xe7, 0xda, 0xd3, 0x42,
-	0xb5, 0x9b, 0xde, 0xb5, 0x79, 0x50, 0x80, 0xb8, 0x9a, 0xb3, 0x5b, 0x96, 0x8a, 0x9f, 0xfc, 0x0b,
-	0x00, 0x00, 0xff, 0xff, 0xaa, 0x36, 0x2a, 0x93, 0x04, 0x07, 0x00, 0x00,
+	// 688 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xd1, 0x52, 0xd3, 0x4c,
+	0x14, 0x26, 0x50, 0xf2, 0xc3, 0x69, 0x7f, 0x28, 0x2b, 0x62, 0x0c, 0x0a, 0x25, 0x8a, 0xc2, 0x4d,
+	0x70, 0xc2, 0x78, 0xe5, 0x8d, 0xa5, 0x45, 0x70, 0x06, 0xd1, 0xd9, 0xa2, 0xe3, 0x85, 0x33, 0x9d,
+	0x6d, 0xbb, 0x29, 0x71, 0x9a, 0xa6, 0x6e, 0xb6, 0x6a, 0x2f, 0x7c, 0x02, 0xdf, 0xc3, 0x3b, 0x9f,
+	0xc3, 0xd7, 0x72, 0xba, 0xbb, 0xa9, 0x69, 0xbb, 0x29, 0xce, 0xd4, 0xab, 0x74, 0xcf, 0x7e, 0xdf,
+	0xd9, 0xb3, 0xdf, 0x39, 0xfb, 0x15, 0x56, 0x19, 0xf5, 0xdd, 0x1e, 0x8b, 0x78, 0x84, 0xcc, 0x76,
+	0xc0, 0x49, 0x67, 0x60, 0x17, 0xe2, 0x6b, 0xc2, 0x68, 0x4b, 0x46, 0xed, 0xdd, 0x76, 0x14, 0xb5,
+	0x3b, 0xf4, 0x48, 0xac, 0x1a, 0x7d, 0xff, 0x88, 0x07, 0x21, 0x8d, 0x39, 0x09, 0x7b, 0x12, 0xe0,
+	0x60, 0xb8, 0xf7, 0x22, 0xe8, 0xb6, 0xaa, 0xd4, 0x27, 0xfd, 0x0e, 0x3f, 0x61, 0xa4, 0xdb, 0xbc,
+	0xbe, 0x24, 0x21, 0xc5, 0xf4, 0x53, 0x9f, 0xc6, 0x1c, 0x79, 0x00, 0x8c, 0xf6, 0xa2, 0x38, 0xe0,
+	0x11, 0x1b, 0x58, 0x46, 0xc9, 0x38, 0xc8, 0x7b, 0xc8, 0x95, 0x67, 0xb9, 0x78, 0xb4, 0x83, 0x53,
+	0x28, 0xe7, 0x18, 0xee, 0x67, 0xe4, 0x8c, 0x7b, 0x51, 0x37, 0xa6, 0x08, 0x41, 0xae, 0x4b, 0x42,
+	0x2a, 0xd2, 0x15, 0xb0, 0xf8, 0xed, 0xbc, 0x86, 0xbb, 0x43, 0x52, 0xb9, 0xd3, 0xf9, 0x43, 0x88,
+	0xe7, 0xa9, 0xc2, 0x03, 0x5b, 0x97, 0x50, 0x95, 0xb0, 0x09, 0xcb, 0xc3, 0x63, 0x63, 0xcb, 0x28,
+	0x2d, 0x1d, 0x14, 0xb0, 0x5c, 0x38, 0x17, 0xb0, 0xa5, 0x38, 0x57, 0xa4, 0x3d, 0x77, 0x05, 0x47,
+	0x70, 0x67, 0x2a, 0xdb, 0xcc, 0xe3, 0xbf, 0x01, 0x1a, 0x12, 0x30, 0xf5, 0xe7, 0x6c, 0x01, 0xda,
+	0x86, 0xd5, 0x66, 0x14, 0x86, 0x01, 0xaf, 0x07, 0x2d, 0x6b, 0xb1, 0x64, 0x1c, 0xac, 0xe2, 0x15,
+	0x19, 0x78, 0xd9, 0x42, 0x5b, 0x60, 0xf6, 0x18, 0xf5, 0x83, 0xaf, 0xd6, 0x92, 0x68, 0x80, 0x5a,
+	0x39, 0x87, 0x70, 0x6b, 0xec, 0xf8, 0x19, 0xdd, 0xfa, 0x65, 0x80, 0x35, 0xc4, 0x5e, 0x44, 0x4d,
+	0xa2, 0xf4, 0x9d, 0x4b, 0x2b, 0xf4, 0x1c, 0xfe, 0x8b, 0x23, 0xc6, 0xeb, 0x8d, 0x81, 0x28, 0x77,
+	0xcd, 0x7b, 0x9c, 0x10, 0xb2, 0x8e, 0x71, 0x6b, 0x11, 0xe3, 0x27, 0x03, 0x6c, 0xc6, 0xe2, 0xeb,
+	0x3c, 0x05, 0x53, 0x46, 0xd0, 0x0a, 0xe4, 0x2e, 0xcb, 0xaf, 0x4e, 0x8b, 0x0b, 0x68, 0x1d, 0xf2,
+	0x6f, 0xdf, 0x54, 0xcb, 0x57, 0xa7, 0xd5, 0x7a, 0xb9, 0x56, 0x29, 0x1a, 0xa8, 0x08, 0x85, 0x24,
+	0x50, 0x3d, 0xad, 0x55, 0x8a, 0x8b, 0xce, 0x7b, 0x39, 0x77, 0x13, 0x27, 0xa8, 0xab, 0x3f, 0x83,
+	0x95, 0x86, 0x8a, 0x89, 0x4e, 0xe5, 0xbd, 0xdd, 0x8c, 0xb2, 0x12, 0x0a, 0x1e, 0x11, 0x9c, 0xef,
+	0x8b, 0xb2, 0xff, 0x1a, 0x94, 0x4e, 0xd3, 0xd9, 0x3d, 0xdb, 0x87, 0x35, 0xb5, 0x19, 0xf7, 0x1b,
+	0x1f, 0x69, 0x93, 0xab, 0xde, 0xfd, 0x2f, 0xa3, 0x35, 0x19, 0x44, 0xe7, 0xa0, 0x02, 0x75, 0xd2,
+	0xe7, 0xd7, 0x11, 0xb3, 0x72, 0x42, 0xfd, 0x07, 0x19, 0x55, 0x57, 0x04, 0xb6, 0x2c, 0xa0, 0xb8,
+	0xd0, 0x4c, 0xad, 0xd0, 0x25, 0x14, 0x55, 0x26, 0xf9, 0xe1, 0x94, 0x59, 0xcb, 0x7f, 0x9f, 0x6c,
+	0x5d, 0xb2, 0x2a, 0x09, 0xd7, 0xf9, 0x02, 0xdb, 0x33, 0xf0, 0x5a, 0x41, 0x36, 0x61, 0x99, 0x86,
+	0x24, 0xe8, 0x08, 0x31, 0x0a, 0x58, 0x2e, 0x90, 0x0b, 0xb9, 0x16, 0xe1, 0x54, 0xdc, 0x3f, 0xef,
+	0xd9, 0xae, 0x74, 0x38, 0x37, 0x71, 0x38, 0xf7, 0x2a, 0x71, 0x38, 0x2c, 0x70, 0xa9, 0x37, 0xfd,
+	0x0f, 0xe6, 0xd4, 0xf9, 0x61, 0x8c, 0x1e, 0xf5, 0xd4, 0xb4, 0x9c, 0x4c, 0x4d, 0xcb, 0xa3, 0xb4,
+	0x54, 0x1a, 0x8a, 0xab, 0xc6, 0x62, 0xc4, 0xb3, 0xcf, 0xc0, 0x94, 0x31, 0xad, 0x22, 0x87, 0x60,
+	0x72, 0xc2, 0xda, 0x94, 0x0b, 0x49, 0xf2, 0xde, 0x46, 0x92, 0xff, 0x2c, 0x91, 0x1a, 0x2b, 0x80,
+	0xf7, 0x33, 0x07, 0x80, 0xa9, 0x5f, 0xa3, 0xec, 0x73, 0xd0, 0xa4, 0xc8, 0x87, 0xdb, 0x5a, 0x4f,
+	0x46, 0x0f, 0xd3, 0x25, 0x66, 0xfd, 0x0d, 0xd8, 0xfb, 0x37, 0xa0, 0xe4, 0x75, 0x9c, 0x05, 0x54,
+	0x97, 0x16, 0x36, 0xee, 0xba, 0x68, 0x4f, 0xab, 0x43, 0xda, 0x60, 0x6d, 0x67, 0x16, 0x24, 0x49,
+	0xff, 0xc4, 0x40, 0xef, 0x60, 0x7d, 0xc2, 0x54, 0xd1, 0xce, 0x04, 0x75, 0xc2, 0xbb, 0xed, 0xdd,
+	0xcc, 0xfd, 0x54, 0xde, 0x73, 0xc8, 0xa7, 0xcc, 0x0f, 0xd9, 0x69, 0xce, 0xb8, 0x21, 0xdb, 0xdb,
+	0xda, 0xbd, 0x91, 0x04, 0x1f, 0x60, 0x63, 0xca, 0x51, 0x50, 0xe9, 0x26, 0x3b, 0xb3, 0xf7, 0x66,
+	0x20, 0xb4, 0xf7, 0x1f, 0xe5, 0xde, 0xc9, 0x9c, 0x32, 0xfd, 0xfd, 0x75, 0x79, 0x1b, 0xa6, 0x78,
+	0x40, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x05, 0x13, 0xab, 0x7e, 0x53, 0x08, 0x00, 0x00,
 }
diff --git a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go
index 3d928616596c8756ef79a8c1e902f9de9417b702..51f962e73edc622aeb44ba176ee753cf01afb33b 100644
--- a/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go
+++ b/go/vendor/gitlab.com/gitlab-org/gitaly-proto/go/ssh.pb.go
@@ -22,6 +22,8 @@ type SSHUploadPackRequest struct {
 	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
 	Stdin []byte `protobuf:"bytes,2,opt,name=stdin,proto3" json:"stdin,omitempty"`
+	// Parameters to use with git -c (key=value pairs)
+	GitConfigParameters [][]byte `protobuf:"bytes,3,rep,name=git_config_parameters,json=gitConfigParameters,proto3" json:"git_config_parameters,omitempty"`
 }
 
 func (m *SSHUploadPackRequest) Reset()                    { *m = SSHUploadPackRequest{} }
@@ -43,6 +45,13 @@ func (m *SSHUploadPackRequest) GetStdin() []byte {
 	return nil
 }
 
+func (m *SSHUploadPackRequest) GetGitConfigParameters() [][]byte {
+	if m != nil {
+		return m.GitConfigParameters
+	}
+	return nil
+}
+
 type SSHUploadPackResponse struct {
 	// A chunk of raw data from 'git upload-pack' standard output
 	Stdout []byte `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
@@ -342,25 +351,27 @@ var _SSHService_serviceDesc = grpc.ServiceDesc{
 func init() { proto.RegisterFile("ssh.proto", fileDescriptor9) }
 
 var fileDescriptor9 = []byte{
-	// 307 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x52, 0xcf, 0x4e, 0x32, 0x31,
-	0x10, 0xff, 0xfa, 0x09, 0x24, 0x0c, 0x8b, 0x87, 0x11, 0x09, 0x21, 0x6a, 0xc8, 0x7a, 0xe1, 0x44,
-	0x0c, 0x3c, 0x83, 0x09, 0xde, 0x4c, 0x1b, 0xce, 0xb8, 0xd2, 0xc9, 0xd2, 0xd8, 0xd0, 0xb5, 0x2d,
-	0x04, 0x12, 0x7d, 0x12, 0x1f, 0xc4, 0xd7, 0x33, 0xe9, 0xae, 0xb8, 0x8b, 0x72, 0xd4, 0xdb, 0xce,
-	0xfc, 0x76, 0x7e, 0x7f, 0x3a, 0x03, 0x4d, 0xe7, 0x96, 0xa3, 0xcc, 0x1a, 0x6f, 0xb0, 0x91, 0x2a,
-	0x9f, 0xe8, 0x5d, 0x3f, 0x72, 0xcb, 0xc4, 0x92, 0xcc, 0xbb, 0xf1, 0x03, 0x74, 0x84, 0x98, 0xce,
-	0x32, 0x6d, 0x12, 0x79, 0x9f, 0x2c, 0x9e, 0x38, 0x3d, 0xaf, 0xc9, 0x79, 0x1c, 0x03, 0x58, 0xca,
-	0x8c, 0x53, 0xde, 0xd8, 0x5d, 0x8f, 0x0d, 0xd8, 0xb0, 0x35, 0xc6, 0x51, 0x4e, 0x31, 0xe2, 0x7b,
-	0x84, 0x97, 0xfe, 0xc2, 0x0e, 0xd4, 0x9d, 0x97, 0x6a, 0xd5, 0xfb, 0x3f, 0x60, 0xc3, 0x88, 0xe7,
-	0x45, 0xfc, 0x02, 0xe7, 0x07, 0x0a, 0x2e, 0x33, 0x2b, 0x47, 0xd8, 0x85, 0x86, 0xf3, 0xd2, 0xac,
-	0x7d, 0xa0, 0x8f, 0x78, 0x51, 0x15, 0x7d, 0xb2, 0xb6, 0xe0, 0x29, 0x2a, 0x9c, 0x40, 0x8b, 0xb6,
-	0xca, 0xcf, 0x9d, 0x4f, 0xfc, 0xda, 0xf5, 0x4e, 0xaa, 0x9e, 0x6e, 0xb7, 0xca, 0x8b, 0x80, 0x70,
-	0xa0, 0xfd, 0x77, 0xfc, 0xc6, 0x82, 0x3c, 0xa7, 0x05, 0xa9, 0x0d, 0xfd, 0x4a, 0x42, 0x3c, 0x83,
-	0x7a, 0xaa, 0xe7, 0x4a, 0x06, 0x4b, 0x4d, 0x5e, 0x4b, 0xf5, 0x9d, 0xc4, 0x6b, 0x68, 0xa7, 0x7a,
-	0x5e, 0x52, 0xa8, 0x05, 0x30, 0x4a, 0xf5, 0x17, 0x77, 0xfc, 0x0a, 0xdd, 0x43, 0x73, 0x7f, 0xf8,
-	0x38, 0xe3, 0x77, 0x06, 0x20, 0xc4, 0x54, 0x90, 0xdd, 0xa8, 0x05, 0x21, 0x87, 0x76, 0x65, 0x53,
-	0x78, 0xf1, 0x39, 0xff, 0xd3, 0x89, 0xf4, 0x2f, 0x8f, 0xa0, 0x79, 0x82, 0xf8, 0xdf, 0x90, 0xdd,
-	0x30, 0x9c, 0xc1, 0x69, 0x35, 0x21, 0x96, 0xc7, 0xbe, 0xaf, 0xa5, 0x7f, 0x75, 0x0c, 0x2e, 0xd3,
-	0x3e, 0x36, 0xc2, 0xf5, 0x4e, 0x3e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x79, 0x5b, 0x32, 0x2b, 0xe0,
-	0x02, 0x00, 0x00,
+	// 344 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x92, 0xcd, 0x4e, 0xea, 0x40,
+	0x14, 0xc7, 0xef, 0x5c, 0x3e, 0x12, 0x0e, 0xe5, 0x2e, 0x86, 0x8f, 0x10, 0x72, 0xef, 0x0d, 0xa9,
+	0x9b, 0xae, 0x88, 0x29, 0x8f, 0x60, 0x4c, 0x70, 0x47, 0xa6, 0x61, 0xdd, 0xd4, 0xf6, 0x38, 0x4c,
+	0xac, 0x4c, 0x9d, 0x39, 0x10, 0x48, 0xf4, 0x2d, 0xdc, 0xf9, 0x20, 0xbe, 0x9e, 0xb1, 0xad, 0x58,
+	0x50, 0x96, 0xba, 0xeb, 0x99, 0x5f, 0xcf, 0xf9, 0xff, 0xcf, 0x07, 0xb4, 0xac, 0x5d, 0x4e, 0x32,
+	0xa3, 0x49, 0xf3, 0xa6, 0x54, 0x14, 0xa5, 0xbb, 0x91, 0x63, 0x97, 0x91, 0xc1, 0xa4, 0x78, 0x75,
+	0x9f, 0x18, 0xf4, 0x82, 0x60, 0xb6, 0xc8, 0x52, 0x1d, 0x25, 0xf3, 0x28, 0xbe, 0x15, 0x78, 0xbf,
+	0x46, 0x4b, 0xdc, 0x07, 0x30, 0x98, 0x69, 0xab, 0x48, 0x9b, 0xdd, 0x90, 0x8d, 0x99, 0xd7, 0xf6,
+	0xf9, 0xa4, 0xa8, 0x31, 0x11, 0x7b, 0x22, 0x2a, 0x7f, 0xf1, 0x1e, 0x34, 0x2c, 0x25, 0x6a, 0x35,
+	0xfc, 0x3d, 0x66, 0x9e, 0x23, 0x8a, 0x80, 0xfb, 0xd0, 0x97, 0x8a, 0xc2, 0x58, 0xaf, 0x6e, 0x94,
+	0x0c, 0xb3, 0xc8, 0x44, 0x77, 0x48, 0x68, 0xec, 0xb0, 0x36, 0xae, 0x79, 0x8e, 0xe8, 0x4a, 0x45,
+	0x17, 0x39, 0x9b, 0xef, 0x91, 0xfb, 0x00, 0xfd, 0x23, 0x57, 0x36, 0xd3, 0x2b, 0x8b, 0x7c, 0x00,
+	0x4d, 0x4b, 0x89, 0x5e, 0x53, 0x6e, 0xc9, 0x11, 0x65, 0x54, 0xbe, 0xa3, 0x31, 0xa5, 0x76, 0x19,
+	0xf1, 0x29, 0xb4, 0x71, 0xab, 0x28, 0xb4, 0x14, 0xd1, 0xfa, 0x4d, 0xf2, 0xa0, 0x8f, 0xcb, 0xad,
+	0xa2, 0x20, 0x27, 0x02, 0x70, 0xff, 0xed, 0x3e, 0xb3, 0x5c, 0x5e, 0x60, 0x8c, 0x6a, 0x83, 0xdf,
+	0x33, 0x95, 0x2e, 0x34, 0x64, 0x1a, 0xaa, 0x24, 0xb7, 0xd4, 0x12, 0x75, 0x99, 0x5e, 0x25, 0xfc,
+	0x0c, 0x3a, 0x32, 0x0d, 0x2b, 0x0a, 0xf5, 0x1c, 0x3a, 0x32, 0xfd, 0xa8, 0xed, 0x3e, 0xc2, 0xe0,
+	0xd8, 0xdc, 0x0f, 0x0e, 0xc7, 0x7f, 0x61, 0x00, 0x41, 0x30, 0x0b, 0xd0, 0x6c, 0x54, 0x8c, 0x5c,
+	0x40, 0xe7, 0x60, 0x53, 0xfc, 0xef, 0x7b, 0xfe, 0x57, 0x67, 0x35, 0xfa, 0x77, 0x82, 0x16, 0x1d,
+	0xb8, 0xbf, 0x3c, 0x76, 0xce, 0xf8, 0x02, 0xfe, 0x1c, 0x76, 0xc8, 0xab, 0x69, 0x9f, 0xd7, 0x32,
+	0xfa, 0x7f, 0x0a, 0x57, 0xcb, 0x5e, 0x37, 0xf3, 0x93, 0x9f, 0xbe, 0x06, 0x00, 0x00, 0xff, 0xff,
+	0xad, 0xff, 0xd1, 0xd9, 0x15, 0x03, 0x00, 0x00,
 }
diff --git a/go/vendor/vendor.json b/go/vendor/vendor.json
index a489dd23582f1fa2a28d5782aa67282d2d31925f..99fae6c03702881d912eaf096ee44a96595d962b 100644
--- a/go/vendor/vendor.json
+++ b/go/vendor/vendor.json
@@ -21,13 +21,13 @@
 			"revisionTime": "2017-03-31T03:19:02Z"
 		},
 		{
-			"checksumSHA1": "dTfc2UncJV8JxRznLbc0itGp8SI=",
+			"checksumSHA1": "+CNxvSTtLN/56WUMMlQvgJFCz2o=",
 			"path": "gitlab.com/gitlab-org/gitaly-proto/go",
-			"revision": "c7790557c271c6e082c9e7cfa9e63380a7643dcf",
-			"revisionTime": "2017-07-14T18:05:40Z",
+			"revision": "595c853b19e3440dde3728044a136d940811c1f9",
+			"revisionTime": "2017-07-25T17:44:10Z",
 			"tree": true,
-			"version": "v0.17.0",
-			"versionExact": "v0.17.0"
+			"version": "v0.20.0",
+			"versionExact": "v0.20.0"
 		},
 		{
 			"checksumSHA1": "dUHJbKas746n5fLzlwxHb6FOCxs=",