Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlo Strokov <pstrokov@gitlab.com>2022-01-18 13:39:33 +0300
committerPavlo Strokov <pstrokov@gitlab.com>2022-01-18 13:39:33 +0300
commit62920dd355e2b81e4e2412a4744c8482df112711 (patch)
tree8b1b085e32c23349a36c420251689a25ec5c647e
parentaeec715ba288df3d9cd94e20aa6b9cf9f2fe2af2 (diff)
parente1c29d571ea1db571681f865c42fd795a2c97b3b (diff)
Merge branch 'ps-sort-list-ref' into 'master'
ref: Sort results of ListRefs Closes #3855 See merge request gitlab-org/gitaly!4221
-rw-r--r--internal/gitaly/service/ref/list_refs.go27
-rw-r--r--internal/gitaly/service/ref/list_refs_test.go48
-rw-r--r--proto/go/gitalypb/ref.pb.go708
-rw-r--r--proto/ref.proto16
-rw-r--r--ruby/proto/gitaly/ref_pb.rb13
5 files changed, 532 insertions, 280 deletions
diff --git a/internal/gitaly/service/ref/list_refs.go b/internal/gitaly/service/ref/list_refs.go
index f5eb03557..0ad61e508 100644
--- a/internal/gitaly/service/ref/list_refs.go
+++ b/internal/gitaly/service/ref/list_refs.go
@@ -2,6 +2,7 @@ package ref
import (
"errors"
+ "fmt"
"strings"
"gitlab.com/gitlab-org/gitaly/v14/internal/git"
@@ -34,10 +35,12 @@ func (s *server) ListRefs(in *gitalypb.ListRefsRequest, stream gitalypb.RefServi
patterns = append(patterns, string(pattern))
}
+ sorting := sortDirectionByEnum[in.GetSortBy().GetDirection()] + sortKeyByEnum[in.GetSortBy().GetKey()]
opts := buildFindRefsOpts(ctx, nil)
opts.cmdArgs = []git.Option{
// %00 inserts the null character into the output (see for-each-ref docs)
- git.Flag{Name: "--format=" + strings.Join(localBranchFormatFields, "%00")},
+ git.ValueFlag{Name: "--format", Value: strings.Join(localBranchFormatFields, "%00")},
+ git.ValueFlag{Name: "--sort", Value: sorting},
}
return s.findRefs(ctx, writer, repo, patterns, opts)
@@ -51,6 +54,16 @@ func validateListRefsRequest(in *gitalypb.ListRefsRequest) error {
return errors.New("patterns must have at least one entry")
}
+ if sortBy := in.GetSortBy(); sortBy != nil {
+ if _, found := sortKeyByEnum[sortBy.GetKey()]; !found {
+ return fmt.Errorf("sorting key %q is not supported", sortBy.GetKey())
+ }
+
+ if _, found := sortDirectionByEnum[sortBy.GetDirection()]; !found {
+ return errors.New("sorting direction is not supported")
+ }
+ }
+
return nil
}
@@ -81,3 +94,15 @@ func newListRefsWriter(stream gitalypb.RefService_ListRefsServer, headOID git.Ob
return stream.Send(&gitalypb.ListRefsResponse{References: refNames})
}
}
+
+var sortKeyByEnum = map[gitalypb.ListRefsRequest_SortBy_Key]string{
+ gitalypb.ListRefsRequest_SortBy_REFNAME: "refname",
+ gitalypb.ListRefsRequest_SortBy_CREATORDATE: "creatordate",
+ gitalypb.ListRefsRequest_SortBy_AUTHORDATE: "authordate",
+ gitalypb.ListRefsRequest_SortBy_COMMITTERDATE: "committerdate",
+}
+
+var sortDirectionByEnum = map[gitalypb.SortDirection]string{
+ gitalypb.SortDirection_ASCENDING: "",
+ gitalypb.SortDirection_DESCENDING: "-",
+}
diff --git a/internal/gitaly/service/ref/list_refs_test.go b/internal/gitaly/service/ref/list_refs_test.go
index 9b9529baa..2f662729b 100644
--- a/internal/gitaly/service/ref/list_refs_test.go
+++ b/internal/gitaly/service/ref/list_refs_test.go
@@ -26,7 +26,11 @@ func TestServer_ListRefs(t *testing.T) {
repoPath := filepath.Join(storagePath, relativePath)
gittest.Exec(t, cfg, "init", repoPath)
+ gittest.Exec(t, cfg, "-C", repoPath, "commit", "--allow-empty", "-m", "initial")
+ oldCommit := text.ChompBytes(gittest.Exec(t, cfg, "-C", repoPath, "rev-parse", "refs/heads/master"))
+
gittest.Exec(t, cfg, "-C", repoPath, "commit", "--allow-empty", "-m", "commit message")
+ gittest.Exec(t, cfg, "-C", repoPath, "commit", "--amend", "--date", "Wed Feb 16 14:01 2011 +0100", "--allow-empty", "--no-edit")
commit := text.ChompBytes(gittest.Exec(t, cfg, "-C", repoPath, "rev-parse", "refs/heads/master"))
for _, cmd := range [][]string{
@@ -36,6 +40,7 @@ func TestServer_ListRefs(t *testing.T) {
{"symbolic-ref", "refs/heads/symbolic", "refs/heads/master"},
{"update-ref", "refs/remote/remote-name/remote-branch", commit},
{"symbolic-ref", "HEAD", "refs/heads/master"},
+ {"update-ref", "refs/heads/old", oldCommit},
} {
gittest.Exec(t, cfg, append([]string{"-C", repoPath}, cmd...)...)
}
@@ -68,6 +73,30 @@ func TestServer_ListRefs(t *testing.T) {
expectedError: "rpc error: code = InvalidArgument desc = patterns must have at least one entry",
},
{
+ desc: "bad sorting key",
+ request: &gitalypb.ListRefsRequest{
+ Repository: repo,
+ Patterns: [][]byte{[]byte("refs/")},
+ SortBy: &gitalypb.ListRefsRequest_SortBy{
+ Key: gitalypb.ListRefsRequest_SortBy_Key(100),
+ },
+ },
+ expectedGrpcError: codes.InvalidArgument,
+ expectedError: `rpc error: code = InvalidArgument desc = sorting key "100" is not supported`,
+ },
+ {
+ desc: "bad sorting direction",
+ request: &gitalypb.ListRefsRequest{
+ Repository: repo,
+ Patterns: [][]byte{[]byte("refs/")},
+ SortBy: &gitalypb.ListRefsRequest_SortBy{
+ Direction: gitalypb.SortDirection(100),
+ },
+ },
+ expectedGrpcError: codes.InvalidArgument,
+ expectedError: "rpc error: code = InvalidArgument desc = sorting direction is not supported",
+ },
+ {
desc: "not found",
request: &gitalypb.ListRefsRequest{
Repository: repo,
@@ -95,6 +124,7 @@ func TestServer_ListRefs(t *testing.T) {
},
expected: []*gitalypb.ListRefsResponse_Reference{
{Name: []byte("refs/heads/master"), Target: commit},
+ {Name: []byte("refs/heads/old"), Target: oldCommit},
{Name: []byte("refs/heads/symbolic"), Target: commit},
{Name: []byte("refs/remote/remote-name/remote-branch"), Target: commit},
{Name: []byte("refs/tags/annotated-tag"), Target: annotatedTagOID},
@@ -102,6 +132,22 @@ func TestServer_ListRefs(t *testing.T) {
},
},
{
+ desc: "sort by authordate desc",
+ request: &gitalypb.ListRefsRequest{
+ Repository: repo,
+ Patterns: [][]byte{[]byte("refs/heads")},
+ SortBy: &gitalypb.ListRefsRequest_SortBy{
+ Direction: gitalypb.SortDirection_DESCENDING,
+ Key: gitalypb.ListRefsRequest_SortBy_AUTHORDATE,
+ },
+ },
+ expected: []*gitalypb.ListRefsResponse_Reference{
+ {Name: []byte("refs/heads/old"), Target: oldCommit},
+ {Name: []byte("refs/heads/master"), Target: commit},
+ {Name: []byte("refs/heads/symbolic"), Target: commit},
+ },
+ },
+ {
desc: "branches and tags only",
request: &gitalypb.ListRefsRequest{
Repository: repo,
@@ -109,6 +155,7 @@ func TestServer_ListRefs(t *testing.T) {
},
expected: []*gitalypb.ListRefsResponse_Reference{
{Name: []byte("refs/heads/master"), Target: commit},
+ {Name: []byte("refs/heads/old"), Target: oldCommit},
{Name: []byte("refs/heads/symbolic"), Target: commit},
{Name: []byte("refs/tags/annotated-tag"), Target: annotatedTagOID},
{Name: []byte("refs/tags/lightweight-tag"), Target: commit},
@@ -124,6 +171,7 @@ func TestServer_ListRefs(t *testing.T) {
expected: []*gitalypb.ListRefsResponse_Reference{
{Name: []byte("HEAD"), Target: commit},
{Name: []byte("refs/heads/master"), Target: commit},
+ {Name: []byte("refs/heads/old"), Target: oldCommit},
{Name: []byte("refs/heads/symbolic"), Target: commit},
{Name: []byte("refs/tags/annotated-tag"), Target: annotatedTagOID},
{Name: []byte("refs/tags/lightweight-tag"), Target: commit},
diff --git a/proto/go/gitalypb/ref.pb.go b/proto/go/gitalypb/ref.pb.go
index f8ff1dd42..603e2e356 100644
--- a/proto/go/gitalypb/ref.pb.go
+++ b/proto/go/gitalypb/ref.pb.go
@@ -169,6 +169,58 @@ func (CreateBranchResponse_Status) EnumDescriptor() ([]byte, []int) {
return file_ref_proto_rawDescGZIP(), []int{19, 0}
}
+type ListRefsRequest_SortBy_Key int32
+
+const (
+ ListRefsRequest_SortBy_REFNAME ListRefsRequest_SortBy_Key = 0
+ ListRefsRequest_SortBy_CREATORDATE ListRefsRequest_SortBy_Key = 1
+ ListRefsRequest_SortBy_AUTHORDATE ListRefsRequest_SortBy_Key = 2
+ ListRefsRequest_SortBy_COMMITTERDATE ListRefsRequest_SortBy_Key = 3
+)
+
+// Enum value maps for ListRefsRequest_SortBy_Key.
+var (
+ ListRefsRequest_SortBy_Key_name = map[int32]string{
+ 0: "REFNAME",
+ 1: "CREATORDATE",
+ 2: "AUTHORDATE",
+ 3: "COMMITTERDATE",
+ }
+ ListRefsRequest_SortBy_Key_value = map[string]int32{
+ "REFNAME": 0,
+ "CREATORDATE": 1,
+ "AUTHORDATE": 2,
+ "COMMITTERDATE": 3,
+ }
+)
+
+func (x ListRefsRequest_SortBy_Key) Enum() *ListRefsRequest_SortBy_Key {
+ p := new(ListRefsRequest_SortBy_Key)
+ *p = x
+ return p
+}
+
+func (x ListRefsRequest_SortBy_Key) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ListRefsRequest_SortBy_Key) Descriptor() protoreflect.EnumDescriptor {
+ return file_ref_proto_enumTypes[3].Descriptor()
+}
+
+func (ListRefsRequest_SortBy_Key) Type() protoreflect.EnumType {
+ return &file_ref_proto_enumTypes[3]
+}
+
+func (x ListRefsRequest_SortBy_Key) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ListRefsRequest_SortBy_Key.Descriptor instead.
+func (ListRefsRequest_SortBy_Key) EnumDescriptor() ([]byte, []int) {
+ return file_ref_proto_rawDescGZIP(), []int{38, 0, 0}
+}
+
type FindDefaultBranchNameRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2231,6 +2283,8 @@ type ListRefsRequest struct {
// Head determines whether the RPC should also return the HEAD reference. By default,
// pseudo-refs are not included in the response.
Head bool `protobuf:"varint,3,opt,name=head,proto3" json:"head,omitempty"`
+ // SortBy allows to request SHAs in particular order.
+ SortBy *ListRefsRequest_SortBy `protobuf:"bytes,4,opt,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"`
}
func (x *ListRefsRequest) Reset() {
@@ -2286,6 +2340,13 @@ func (x *ListRefsRequest) GetHead() bool {
return false
}
+func (x *ListRefsRequest) GetSortBy() *ListRefsRequest_SortBy {
+ if x != nil {
+ return x.SortBy
+ }
+ return nil
+}
+
// ListRefsResponse is a response for the ListRefs RPC. The RPC can return multiple responses
// in case there are more references than fit into a single gRPC message.
type ListRefsResponse struct {
@@ -2652,6 +2713,62 @@ func (x *GetTagSignaturesResponse_TagSignature) GetContent() []byte {
return nil
}
+type ListRefsRequest_SortBy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Key is a key used for sorting.
+ Key ListRefsRequest_SortBy_Key `protobuf:"varint,1,opt,name=key,proto3,enum=gitaly.ListRefsRequest_SortBy_Key" json:"key,omitempty"`
+ Direction SortDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=gitaly.SortDirection" json:"direction,omitempty"`
+}
+
+func (x *ListRefsRequest_SortBy) Reset() {
+ *x = ListRefsRequest_SortBy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ref_proto_msgTypes[45]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListRefsRequest_SortBy) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListRefsRequest_SortBy) ProtoMessage() {}
+
+func (x *ListRefsRequest_SortBy) ProtoReflect() protoreflect.Message {
+ mi := &file_ref_proto_msgTypes[45]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListRefsRequest_SortBy.ProtoReflect.Descriptor instead.
+func (*ListRefsRequest_SortBy) Descriptor() ([]byte, []int) {
+ return file_ref_proto_rawDescGZIP(), []int{38, 0}
+}
+
+func (x *ListRefsRequest_SortBy) GetKey() ListRefsRequest_SortBy_Key {
+ if x != nil {
+ return x.Key
+ }
+ return ListRefsRequest_SortBy_REFNAME
+}
+
+func (x *ListRefsRequest_SortBy) GetDirection() SortDirection {
+ if x != nil {
+ return x.Direction
+ }
+ return SortDirection_ASCENDING
+}
+
// Reference is a direct Git reference. No symbolic references will ever be returned by this RPC.
type ListRefsResponse_Reference struct {
state protoimpl.MessageState
@@ -2667,7 +2784,7 @@ type ListRefsResponse_Reference struct {
func (x *ListRefsResponse_Reference) Reset() {
*x = ListRefsResponse_Reference{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[45]
+ mi := &file_ref_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2680,7 +2797,7 @@ func (x *ListRefsResponse_Reference) String() string {
func (*ListRefsResponse_Reference) ProtoMessage() {}
func (x *ListRefsResponse_Reference) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[45]
+ mi := &file_ref_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2995,148 +3112,164 @@ var file_ref_proto_rawDesc = []byte{
0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4a,
0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x73, 0x22,
0x12, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04,
- 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04,
- 0x68, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64,
- 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
- 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72,
- 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x65, 0x66,
- 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42,
- 0x79, 0x4f, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x5f, 0x70,
- 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72,
- 0x65, 0x66, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f,
- 0x72, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
- 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
- 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22,
- 0x2b, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x32, 0xa2, 0x0d, 0x0a,
- 0x0a, 0x52, 0x65, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x46,
- 0x69, 0x6e, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68,
- 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69,
- 0x6e, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e,
- 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42,
- 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x65, 0x0a, 0x12, 0x46, 0x69, 0x6e,
- 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12,
- 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
- 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64,
- 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
- 0x12, 0x5c, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e, 0x61,
- 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e,
- 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e,
- 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x62,
- 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63,
- 0x68, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e,
- 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02,
- 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61,
- 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
- 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12,
- 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
- 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02,
- 0x30, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x16, 0x2e,
+ 0x6e, 0x73, 0x65, 0x22, 0xf2, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42,
+ 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x12, 0x0a,
+ 0x04, 0x68, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x68, 0x65, 0x61,
+ 0x64, 0x12, 0x37, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x72, 0x74,
+ 0x42, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x1a, 0xbb, 0x01, 0x0a, 0x06, 0x53,
+ 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x34, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x72, 0x74,
+ 0x42, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x09, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x22, 0x46, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x46, 0x4e, 0x41,
+ 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f, 0x52, 0x44,
+ 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x44,
+ 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54,
+ 0x45, 0x52, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a,
+ 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52,
+ 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x46,
+ 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c,
+ 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12,
+ 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72,
+ 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x52,
+ 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
+ 0x72, 0x65, 0x66, 0x73, 0x32, 0xa2, 0x0d, 0x0a, 0x0a, 0x52, 0x65, 0x66, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+ 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x12, 0x65, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e,
+ 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61,
+ 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63,
+ 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
+ 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64,
+ 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97,
+ 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72,
+ 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x46, 0x69,
+ 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1e, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72,
+ 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x42, 0x72,
+ 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
+ 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64,
+ 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e,
+ 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x46, 0x69,
+ 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
+ 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
- 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x6e, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
- 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12,
- 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
- 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e,
- 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97,
- 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69,
- 0x73, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x66,
- 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02,
- 0x12, 0x4b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e,
- 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4b, 0x0a,
- 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x12, 0x19, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x1f, 0x4c,
- 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f,
- 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2e,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e,
- 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e,
- 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e,
- 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e,
- 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x1c, 0x4c, 0x69,
- 0x73, 0x74, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
- 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73,
- 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e,
- 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12,
- 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
- 0x72, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74,
- 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65,
- 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
- 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54,
- 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61,
- 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x50,
- 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x6e,
+ 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42,
+ 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x72,
+ 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x65,
+ 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x48,
+ 0x0a, 0x09, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52,
+ 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4b, 0x0a, 0x0a, 0x46, 0x69, 0x6e, 0x64,
+ 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x42,
+ 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
+ 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x66, 0x73, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02,
- 0x08, 0x01, 0x12, 0x47, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x12, 0x17,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x46,
- 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44, 0x12, 0x1c, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79,
- 0x4f, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49,
- 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
- 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c,
- 0x79, 0x2f, 0x76, 0x31, 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x08, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63,
+ 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43,
+ 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43,
+ 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30,
+ 0x01, 0x12, 0x83, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d,
+ 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x54, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69,
+ 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67,
+ 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
+ 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x61,
+ 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61,
+ 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
+ 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54,
+ 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x30, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x73, 0x12,
+ 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x47, 0x0a, 0x08, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x30, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42,
+ 0x79, 0x4f, 0x49, 0x44, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69,
+ 0x6e, 0x64, 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+ 0x52, 0x65, 0x66, 0x73, 0x42, 0x79, 0x4f, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74,
+ 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f,
+ 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x34, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -3151,149 +3284,154 @@ func file_ref_proto_rawDescGZIP() []byte {
return file_ref_proto_rawDescData
}
-var file_ref_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
+var file_ref_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
var file_ref_proto_goTypes = []interface{}{
(FindLocalBranchesRequest_SortBy)(0), // 0: gitaly.FindLocalBranchesRequest.SortBy
(FindAllTagsRequest_SortBy_Key)(0), // 1: gitaly.FindAllTagsRequest.SortBy.Key
(CreateBranchResponse_Status)(0), // 2: gitaly.CreateBranchResponse.Status
- (*FindDefaultBranchNameRequest)(nil), // 3: gitaly.FindDefaultBranchNameRequest
- (*FindDefaultBranchNameResponse)(nil), // 4: gitaly.FindDefaultBranchNameResponse
- (*FindAllBranchNamesRequest)(nil), // 5: gitaly.FindAllBranchNamesRequest
- (*FindAllBranchNamesResponse)(nil), // 6: gitaly.FindAllBranchNamesResponse
- (*FindAllTagNamesRequest)(nil), // 7: gitaly.FindAllTagNamesRequest
- (*FindAllTagNamesResponse)(nil), // 8: gitaly.FindAllTagNamesResponse
- (*FindLocalBranchesRequest)(nil), // 9: gitaly.FindLocalBranchesRequest
- (*FindLocalBranchesResponse)(nil), // 10: gitaly.FindLocalBranchesResponse
- (*FindLocalBranchResponse)(nil), // 11: gitaly.FindLocalBranchResponse
- (*FindLocalBranchCommitAuthor)(nil), // 12: gitaly.FindLocalBranchCommitAuthor
- (*FindAllBranchesRequest)(nil), // 13: gitaly.FindAllBranchesRequest
- (*FindAllBranchesResponse)(nil), // 14: gitaly.FindAllBranchesResponse
- (*FindTagRequest)(nil), // 15: gitaly.FindTagRequest
- (*FindTagResponse)(nil), // 16: gitaly.FindTagResponse
- (*FindAllTagsRequest)(nil), // 17: gitaly.FindAllTagsRequest
- (*FindAllTagsResponse)(nil), // 18: gitaly.FindAllTagsResponse
- (*RefExistsRequest)(nil), // 19: gitaly.RefExistsRequest
- (*RefExistsResponse)(nil), // 20: gitaly.RefExistsResponse
- (*CreateBranchRequest)(nil), // 21: gitaly.CreateBranchRequest
- (*CreateBranchResponse)(nil), // 22: gitaly.CreateBranchResponse
- (*DeleteBranchRequest)(nil), // 23: gitaly.DeleteBranchRequest
- (*DeleteBranchResponse)(nil), // 24: gitaly.DeleteBranchResponse
- (*FindBranchRequest)(nil), // 25: gitaly.FindBranchRequest
- (*FindBranchResponse)(nil), // 26: gitaly.FindBranchResponse
- (*DeleteRefsRequest)(nil), // 27: gitaly.DeleteRefsRequest
- (*DeleteRefsResponse)(nil), // 28: gitaly.DeleteRefsResponse
- (*ListBranchNamesContainingCommitRequest)(nil), // 29: gitaly.ListBranchNamesContainingCommitRequest
- (*ListBranchNamesContainingCommitResponse)(nil), // 30: gitaly.ListBranchNamesContainingCommitResponse
- (*ListTagNamesContainingCommitRequest)(nil), // 31: gitaly.ListTagNamesContainingCommitRequest
- (*ListTagNamesContainingCommitResponse)(nil), // 32: gitaly.ListTagNamesContainingCommitResponse
- (*GetTagSignaturesRequest)(nil), // 33: gitaly.GetTagSignaturesRequest
- (*GetTagSignaturesResponse)(nil), // 34: gitaly.GetTagSignaturesResponse
- (*GetTagMessagesRequest)(nil), // 35: gitaly.GetTagMessagesRequest
- (*GetTagMessagesResponse)(nil), // 36: gitaly.GetTagMessagesResponse
- (*FindAllRemoteBranchesRequest)(nil), // 37: gitaly.FindAllRemoteBranchesRequest
- (*FindAllRemoteBranchesResponse)(nil), // 38: gitaly.FindAllRemoteBranchesResponse
- (*PackRefsRequest)(nil), // 39: gitaly.PackRefsRequest
- (*PackRefsResponse)(nil), // 40: gitaly.PackRefsResponse
- (*ListRefsRequest)(nil), // 41: gitaly.ListRefsRequest
- (*ListRefsResponse)(nil), // 42: gitaly.ListRefsResponse
- (*FindRefsByOIDRequest)(nil), // 43: gitaly.FindRefsByOIDRequest
- (*FindRefsByOIDResponse)(nil), // 44: gitaly.FindRefsByOIDResponse
- (*FindAllBranchesResponse_Branch)(nil), // 45: gitaly.FindAllBranchesResponse.Branch
- (*FindAllTagsRequest_SortBy)(nil), // 46: gitaly.FindAllTagsRequest.SortBy
- (*GetTagSignaturesResponse_TagSignature)(nil), // 47: gitaly.GetTagSignaturesResponse.TagSignature
- (*ListRefsResponse_Reference)(nil), // 48: gitaly.ListRefsResponse.Reference
- (*Repository)(nil), // 49: gitaly.Repository
- (*PaginationParameter)(nil), // 50: gitaly.PaginationParameter
- (*GitCommit)(nil), // 51: gitaly.GitCommit
- (*timestamppb.Timestamp)(nil), // 52: google.protobuf.Timestamp
- (*Tag)(nil), // 53: gitaly.Tag
- (*Branch)(nil), // 54: gitaly.Branch
- (SortDirection)(0), // 55: gitaly.SortDirection
+ (ListRefsRequest_SortBy_Key)(0), // 3: gitaly.ListRefsRequest.SortBy.Key
+ (*FindDefaultBranchNameRequest)(nil), // 4: gitaly.FindDefaultBranchNameRequest
+ (*FindDefaultBranchNameResponse)(nil), // 5: gitaly.FindDefaultBranchNameResponse
+ (*FindAllBranchNamesRequest)(nil), // 6: gitaly.FindAllBranchNamesRequest
+ (*FindAllBranchNamesResponse)(nil), // 7: gitaly.FindAllBranchNamesResponse
+ (*FindAllTagNamesRequest)(nil), // 8: gitaly.FindAllTagNamesRequest
+ (*FindAllTagNamesResponse)(nil), // 9: gitaly.FindAllTagNamesResponse
+ (*FindLocalBranchesRequest)(nil), // 10: gitaly.FindLocalBranchesRequest
+ (*FindLocalBranchesResponse)(nil), // 11: gitaly.FindLocalBranchesResponse
+ (*FindLocalBranchResponse)(nil), // 12: gitaly.FindLocalBranchResponse
+ (*FindLocalBranchCommitAuthor)(nil), // 13: gitaly.FindLocalBranchCommitAuthor
+ (*FindAllBranchesRequest)(nil), // 14: gitaly.FindAllBranchesRequest
+ (*FindAllBranchesResponse)(nil), // 15: gitaly.FindAllBranchesResponse
+ (*FindTagRequest)(nil), // 16: gitaly.FindTagRequest
+ (*FindTagResponse)(nil), // 17: gitaly.FindTagResponse
+ (*FindAllTagsRequest)(nil), // 18: gitaly.FindAllTagsRequest
+ (*FindAllTagsResponse)(nil), // 19: gitaly.FindAllTagsResponse
+ (*RefExistsRequest)(nil), // 20: gitaly.RefExistsRequest
+ (*RefExistsResponse)(nil), // 21: gitaly.RefExistsResponse
+ (*CreateBranchRequest)(nil), // 22: gitaly.CreateBranchRequest
+ (*CreateBranchResponse)(nil), // 23: gitaly.CreateBranchResponse
+ (*DeleteBranchRequest)(nil), // 24: gitaly.DeleteBranchRequest
+ (*DeleteBranchResponse)(nil), // 25: gitaly.DeleteBranchResponse
+ (*FindBranchRequest)(nil), // 26: gitaly.FindBranchRequest
+ (*FindBranchResponse)(nil), // 27: gitaly.FindBranchResponse
+ (*DeleteRefsRequest)(nil), // 28: gitaly.DeleteRefsRequest
+ (*DeleteRefsResponse)(nil), // 29: gitaly.DeleteRefsResponse
+ (*ListBranchNamesContainingCommitRequest)(nil), // 30: gitaly.ListBranchNamesContainingCommitRequest
+ (*ListBranchNamesContainingCommitResponse)(nil), // 31: gitaly.ListBranchNamesContainingCommitResponse
+ (*ListTagNamesContainingCommitRequest)(nil), // 32: gitaly.ListTagNamesContainingCommitRequest
+ (*ListTagNamesContainingCommitResponse)(nil), // 33: gitaly.ListTagNamesContainingCommitResponse
+ (*GetTagSignaturesRequest)(nil), // 34: gitaly.GetTagSignaturesRequest
+ (*GetTagSignaturesResponse)(nil), // 35: gitaly.GetTagSignaturesResponse
+ (*GetTagMessagesRequest)(nil), // 36: gitaly.GetTagMessagesRequest
+ (*GetTagMessagesResponse)(nil), // 37: gitaly.GetTagMessagesResponse
+ (*FindAllRemoteBranchesRequest)(nil), // 38: gitaly.FindAllRemoteBranchesRequest
+ (*FindAllRemoteBranchesResponse)(nil), // 39: gitaly.FindAllRemoteBranchesResponse
+ (*PackRefsRequest)(nil), // 40: gitaly.PackRefsRequest
+ (*PackRefsResponse)(nil), // 41: gitaly.PackRefsResponse
+ (*ListRefsRequest)(nil), // 42: gitaly.ListRefsRequest
+ (*ListRefsResponse)(nil), // 43: gitaly.ListRefsResponse
+ (*FindRefsByOIDRequest)(nil), // 44: gitaly.FindRefsByOIDRequest
+ (*FindRefsByOIDResponse)(nil), // 45: gitaly.FindRefsByOIDResponse
+ (*FindAllBranchesResponse_Branch)(nil), // 46: gitaly.FindAllBranchesResponse.Branch
+ (*FindAllTagsRequest_SortBy)(nil), // 47: gitaly.FindAllTagsRequest.SortBy
+ (*GetTagSignaturesResponse_TagSignature)(nil), // 48: gitaly.GetTagSignaturesResponse.TagSignature
+ (*ListRefsRequest_SortBy)(nil), // 49: gitaly.ListRefsRequest.SortBy
+ (*ListRefsResponse_Reference)(nil), // 50: gitaly.ListRefsResponse.Reference
+ (*Repository)(nil), // 51: gitaly.Repository
+ (*PaginationParameter)(nil), // 52: gitaly.PaginationParameter
+ (*GitCommit)(nil), // 53: gitaly.GitCommit
+ (*timestamppb.Timestamp)(nil), // 54: google.protobuf.Timestamp
+ (*Tag)(nil), // 55: gitaly.Tag
+ (*Branch)(nil), // 56: gitaly.Branch
+ (SortDirection)(0), // 57: gitaly.SortDirection
}
var file_ref_proto_depIdxs = []int32{
- 49, // 0: gitaly.FindDefaultBranchNameRequest.repository:type_name -> gitaly.Repository
- 49, // 1: gitaly.FindAllBranchNamesRequest.repository:type_name -> gitaly.Repository
- 49, // 2: gitaly.FindAllTagNamesRequest.repository:type_name -> gitaly.Repository
- 49, // 3: gitaly.FindLocalBranchesRequest.repository:type_name -> gitaly.Repository
+ 51, // 0: gitaly.FindDefaultBranchNameRequest.repository:type_name -> gitaly.Repository
+ 51, // 1: gitaly.FindAllBranchNamesRequest.repository:type_name -> gitaly.Repository
+ 51, // 2: gitaly.FindAllTagNamesRequest.repository:type_name -> gitaly.Repository
+ 51, // 3: gitaly.FindLocalBranchesRequest.repository:type_name -> gitaly.Repository
0, // 4: gitaly.FindLocalBranchesRequest.sort_by:type_name -> gitaly.FindLocalBranchesRequest.SortBy
- 50, // 5: gitaly.FindLocalBranchesRequest.pagination_params:type_name -> gitaly.PaginationParameter
- 11, // 6: gitaly.FindLocalBranchesResponse.branches:type_name -> gitaly.FindLocalBranchResponse
- 12, // 7: gitaly.FindLocalBranchResponse.commit_author:type_name -> gitaly.FindLocalBranchCommitAuthor
- 12, // 8: gitaly.FindLocalBranchResponse.commit_committer:type_name -> gitaly.FindLocalBranchCommitAuthor
- 51, // 9: gitaly.FindLocalBranchResponse.commit:type_name -> gitaly.GitCommit
- 52, // 10: gitaly.FindLocalBranchCommitAuthor.date:type_name -> google.protobuf.Timestamp
- 49, // 11: gitaly.FindAllBranchesRequest.repository:type_name -> gitaly.Repository
- 45, // 12: gitaly.FindAllBranchesResponse.branches:type_name -> gitaly.FindAllBranchesResponse.Branch
- 49, // 13: gitaly.FindTagRequest.repository:type_name -> gitaly.Repository
- 53, // 14: gitaly.FindTagResponse.tag:type_name -> gitaly.Tag
- 49, // 15: gitaly.FindAllTagsRequest.repository:type_name -> gitaly.Repository
- 46, // 16: gitaly.FindAllTagsRequest.sort_by:type_name -> gitaly.FindAllTagsRequest.SortBy
- 50, // 17: gitaly.FindAllTagsRequest.pagination_params:type_name -> gitaly.PaginationParameter
- 53, // 18: gitaly.FindAllTagsResponse.tags:type_name -> gitaly.Tag
- 49, // 19: gitaly.RefExistsRequest.repository:type_name -> gitaly.Repository
- 49, // 20: gitaly.CreateBranchRequest.repository:type_name -> gitaly.Repository
+ 52, // 5: gitaly.FindLocalBranchesRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 12, // 6: gitaly.FindLocalBranchesResponse.branches:type_name -> gitaly.FindLocalBranchResponse
+ 13, // 7: gitaly.FindLocalBranchResponse.commit_author:type_name -> gitaly.FindLocalBranchCommitAuthor
+ 13, // 8: gitaly.FindLocalBranchResponse.commit_committer:type_name -> gitaly.FindLocalBranchCommitAuthor
+ 53, // 9: gitaly.FindLocalBranchResponse.commit:type_name -> gitaly.GitCommit
+ 54, // 10: gitaly.FindLocalBranchCommitAuthor.date:type_name -> google.protobuf.Timestamp
+ 51, // 11: gitaly.FindAllBranchesRequest.repository:type_name -> gitaly.Repository
+ 46, // 12: gitaly.FindAllBranchesResponse.branches:type_name -> gitaly.FindAllBranchesResponse.Branch
+ 51, // 13: gitaly.FindTagRequest.repository:type_name -> gitaly.Repository
+ 55, // 14: gitaly.FindTagResponse.tag:type_name -> gitaly.Tag
+ 51, // 15: gitaly.FindAllTagsRequest.repository:type_name -> gitaly.Repository
+ 47, // 16: gitaly.FindAllTagsRequest.sort_by:type_name -> gitaly.FindAllTagsRequest.SortBy
+ 52, // 17: gitaly.FindAllTagsRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 55, // 18: gitaly.FindAllTagsResponse.tags:type_name -> gitaly.Tag
+ 51, // 19: gitaly.RefExistsRequest.repository:type_name -> gitaly.Repository
+ 51, // 20: gitaly.CreateBranchRequest.repository:type_name -> gitaly.Repository
2, // 21: gitaly.CreateBranchResponse.status:type_name -> gitaly.CreateBranchResponse.Status
- 54, // 22: gitaly.CreateBranchResponse.branch:type_name -> gitaly.Branch
- 49, // 23: gitaly.DeleteBranchRequest.repository:type_name -> gitaly.Repository
- 49, // 24: gitaly.FindBranchRequest.repository:type_name -> gitaly.Repository
- 54, // 25: gitaly.FindBranchResponse.branch:type_name -> gitaly.Branch
- 49, // 26: gitaly.DeleteRefsRequest.repository:type_name -> gitaly.Repository
- 49, // 27: gitaly.ListBranchNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
- 49, // 28: gitaly.ListTagNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
- 49, // 29: gitaly.GetTagSignaturesRequest.repository:type_name -> gitaly.Repository
- 47, // 30: gitaly.GetTagSignaturesResponse.signatures:type_name -> gitaly.GetTagSignaturesResponse.TagSignature
- 49, // 31: gitaly.GetTagMessagesRequest.repository:type_name -> gitaly.Repository
- 49, // 32: gitaly.FindAllRemoteBranchesRequest.repository:type_name -> gitaly.Repository
- 54, // 33: gitaly.FindAllRemoteBranchesResponse.branches:type_name -> gitaly.Branch
- 49, // 34: gitaly.PackRefsRequest.repository:type_name -> gitaly.Repository
- 49, // 35: gitaly.ListRefsRequest.repository:type_name -> gitaly.Repository
- 48, // 36: gitaly.ListRefsResponse.references:type_name -> gitaly.ListRefsResponse.Reference
- 49, // 37: gitaly.FindRefsByOIDRequest.repository:type_name -> gitaly.Repository
- 51, // 38: gitaly.FindAllBranchesResponse.Branch.target:type_name -> gitaly.GitCommit
- 1, // 39: gitaly.FindAllTagsRequest.SortBy.key:type_name -> gitaly.FindAllTagsRequest.SortBy.Key
- 55, // 40: gitaly.FindAllTagsRequest.SortBy.direction:type_name -> gitaly.SortDirection
- 3, // 41: gitaly.RefService.FindDefaultBranchName:input_type -> gitaly.FindDefaultBranchNameRequest
- 5, // 42: gitaly.RefService.FindAllBranchNames:input_type -> gitaly.FindAllBranchNamesRequest
- 7, // 43: gitaly.RefService.FindAllTagNames:input_type -> gitaly.FindAllTagNamesRequest
- 9, // 44: gitaly.RefService.FindLocalBranches:input_type -> gitaly.FindLocalBranchesRequest
- 13, // 45: gitaly.RefService.FindAllBranches:input_type -> gitaly.FindAllBranchesRequest
- 17, // 46: gitaly.RefService.FindAllTags:input_type -> gitaly.FindAllTagsRequest
- 15, // 47: gitaly.RefService.FindTag:input_type -> gitaly.FindTagRequest
- 37, // 48: gitaly.RefService.FindAllRemoteBranches:input_type -> gitaly.FindAllRemoteBranchesRequest
- 19, // 49: gitaly.RefService.RefExists:input_type -> gitaly.RefExistsRequest
- 25, // 50: gitaly.RefService.FindBranch:input_type -> gitaly.FindBranchRequest
- 27, // 51: gitaly.RefService.DeleteRefs:input_type -> gitaly.DeleteRefsRequest
- 29, // 52: gitaly.RefService.ListBranchNamesContainingCommit:input_type -> gitaly.ListBranchNamesContainingCommitRequest
- 31, // 53: gitaly.RefService.ListTagNamesContainingCommit:input_type -> gitaly.ListTagNamesContainingCommitRequest
- 33, // 54: gitaly.RefService.GetTagSignatures:input_type -> gitaly.GetTagSignaturesRequest
- 35, // 55: gitaly.RefService.GetTagMessages:input_type -> gitaly.GetTagMessagesRequest
- 39, // 56: gitaly.RefService.PackRefs:input_type -> gitaly.PackRefsRequest
- 41, // 57: gitaly.RefService.ListRefs:input_type -> gitaly.ListRefsRequest
- 43, // 58: gitaly.RefService.FindRefsByOID:input_type -> gitaly.FindRefsByOIDRequest
- 4, // 59: gitaly.RefService.FindDefaultBranchName:output_type -> gitaly.FindDefaultBranchNameResponse
- 6, // 60: gitaly.RefService.FindAllBranchNames:output_type -> gitaly.FindAllBranchNamesResponse
- 8, // 61: gitaly.RefService.FindAllTagNames:output_type -> gitaly.FindAllTagNamesResponse
- 10, // 62: gitaly.RefService.FindLocalBranches:output_type -> gitaly.FindLocalBranchesResponse
- 14, // 63: gitaly.RefService.FindAllBranches:output_type -> gitaly.FindAllBranchesResponse
- 18, // 64: gitaly.RefService.FindAllTags:output_type -> gitaly.FindAllTagsResponse
- 16, // 65: gitaly.RefService.FindTag:output_type -> gitaly.FindTagResponse
- 38, // 66: gitaly.RefService.FindAllRemoteBranches:output_type -> gitaly.FindAllRemoteBranchesResponse
- 20, // 67: gitaly.RefService.RefExists:output_type -> gitaly.RefExistsResponse
- 26, // 68: gitaly.RefService.FindBranch:output_type -> gitaly.FindBranchResponse
- 28, // 69: gitaly.RefService.DeleteRefs:output_type -> gitaly.DeleteRefsResponse
- 30, // 70: gitaly.RefService.ListBranchNamesContainingCommit:output_type -> gitaly.ListBranchNamesContainingCommitResponse
- 32, // 71: gitaly.RefService.ListTagNamesContainingCommit:output_type -> gitaly.ListTagNamesContainingCommitResponse
- 34, // 72: gitaly.RefService.GetTagSignatures:output_type -> gitaly.GetTagSignaturesResponse
- 36, // 73: gitaly.RefService.GetTagMessages:output_type -> gitaly.GetTagMessagesResponse
- 40, // 74: gitaly.RefService.PackRefs:output_type -> gitaly.PackRefsResponse
- 42, // 75: gitaly.RefService.ListRefs:output_type -> gitaly.ListRefsResponse
- 44, // 76: gitaly.RefService.FindRefsByOID:output_type -> gitaly.FindRefsByOIDResponse
- 59, // [59:77] is the sub-list for method output_type
- 41, // [41:59] is the sub-list for method input_type
- 41, // [41:41] is the sub-list for extension type_name
- 41, // [41:41] is the sub-list for extension extendee
- 0, // [0:41] is the sub-list for field type_name
+ 56, // 22: gitaly.CreateBranchResponse.branch:type_name -> gitaly.Branch
+ 51, // 23: gitaly.DeleteBranchRequest.repository:type_name -> gitaly.Repository
+ 51, // 24: gitaly.FindBranchRequest.repository:type_name -> gitaly.Repository
+ 56, // 25: gitaly.FindBranchResponse.branch:type_name -> gitaly.Branch
+ 51, // 26: gitaly.DeleteRefsRequest.repository:type_name -> gitaly.Repository
+ 51, // 27: gitaly.ListBranchNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
+ 51, // 28: gitaly.ListTagNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
+ 51, // 29: gitaly.GetTagSignaturesRequest.repository:type_name -> gitaly.Repository
+ 48, // 30: gitaly.GetTagSignaturesResponse.signatures:type_name -> gitaly.GetTagSignaturesResponse.TagSignature
+ 51, // 31: gitaly.GetTagMessagesRequest.repository:type_name -> gitaly.Repository
+ 51, // 32: gitaly.FindAllRemoteBranchesRequest.repository:type_name -> gitaly.Repository
+ 56, // 33: gitaly.FindAllRemoteBranchesResponse.branches:type_name -> gitaly.Branch
+ 51, // 34: gitaly.PackRefsRequest.repository:type_name -> gitaly.Repository
+ 51, // 35: gitaly.ListRefsRequest.repository:type_name -> gitaly.Repository
+ 49, // 36: gitaly.ListRefsRequest.sort_by:type_name -> gitaly.ListRefsRequest.SortBy
+ 50, // 37: gitaly.ListRefsResponse.references:type_name -> gitaly.ListRefsResponse.Reference
+ 51, // 38: gitaly.FindRefsByOIDRequest.repository:type_name -> gitaly.Repository
+ 53, // 39: gitaly.FindAllBranchesResponse.Branch.target:type_name -> gitaly.GitCommit
+ 1, // 40: gitaly.FindAllTagsRequest.SortBy.key:type_name -> gitaly.FindAllTagsRequest.SortBy.Key
+ 57, // 41: gitaly.FindAllTagsRequest.SortBy.direction:type_name -> gitaly.SortDirection
+ 3, // 42: gitaly.ListRefsRequest.SortBy.key:type_name -> gitaly.ListRefsRequest.SortBy.Key
+ 57, // 43: gitaly.ListRefsRequest.SortBy.direction:type_name -> gitaly.SortDirection
+ 4, // 44: gitaly.RefService.FindDefaultBranchName:input_type -> gitaly.FindDefaultBranchNameRequest
+ 6, // 45: gitaly.RefService.FindAllBranchNames:input_type -> gitaly.FindAllBranchNamesRequest
+ 8, // 46: gitaly.RefService.FindAllTagNames:input_type -> gitaly.FindAllTagNamesRequest
+ 10, // 47: gitaly.RefService.FindLocalBranches:input_type -> gitaly.FindLocalBranchesRequest
+ 14, // 48: gitaly.RefService.FindAllBranches:input_type -> gitaly.FindAllBranchesRequest
+ 18, // 49: gitaly.RefService.FindAllTags:input_type -> gitaly.FindAllTagsRequest
+ 16, // 50: gitaly.RefService.FindTag:input_type -> gitaly.FindTagRequest
+ 38, // 51: gitaly.RefService.FindAllRemoteBranches:input_type -> gitaly.FindAllRemoteBranchesRequest
+ 20, // 52: gitaly.RefService.RefExists:input_type -> gitaly.RefExistsRequest
+ 26, // 53: gitaly.RefService.FindBranch:input_type -> gitaly.FindBranchRequest
+ 28, // 54: gitaly.RefService.DeleteRefs:input_type -> gitaly.DeleteRefsRequest
+ 30, // 55: gitaly.RefService.ListBranchNamesContainingCommit:input_type -> gitaly.ListBranchNamesContainingCommitRequest
+ 32, // 56: gitaly.RefService.ListTagNamesContainingCommit:input_type -> gitaly.ListTagNamesContainingCommitRequest
+ 34, // 57: gitaly.RefService.GetTagSignatures:input_type -> gitaly.GetTagSignaturesRequest
+ 36, // 58: gitaly.RefService.GetTagMessages:input_type -> gitaly.GetTagMessagesRequest
+ 40, // 59: gitaly.RefService.PackRefs:input_type -> gitaly.PackRefsRequest
+ 42, // 60: gitaly.RefService.ListRefs:input_type -> gitaly.ListRefsRequest
+ 44, // 61: gitaly.RefService.FindRefsByOID:input_type -> gitaly.FindRefsByOIDRequest
+ 5, // 62: gitaly.RefService.FindDefaultBranchName:output_type -> gitaly.FindDefaultBranchNameResponse
+ 7, // 63: gitaly.RefService.FindAllBranchNames:output_type -> gitaly.FindAllBranchNamesResponse
+ 9, // 64: gitaly.RefService.FindAllTagNames:output_type -> gitaly.FindAllTagNamesResponse
+ 11, // 65: gitaly.RefService.FindLocalBranches:output_type -> gitaly.FindLocalBranchesResponse
+ 15, // 66: gitaly.RefService.FindAllBranches:output_type -> gitaly.FindAllBranchesResponse
+ 19, // 67: gitaly.RefService.FindAllTags:output_type -> gitaly.FindAllTagsResponse
+ 17, // 68: gitaly.RefService.FindTag:output_type -> gitaly.FindTagResponse
+ 39, // 69: gitaly.RefService.FindAllRemoteBranches:output_type -> gitaly.FindAllRemoteBranchesResponse
+ 21, // 70: gitaly.RefService.RefExists:output_type -> gitaly.RefExistsResponse
+ 27, // 71: gitaly.RefService.FindBranch:output_type -> gitaly.FindBranchResponse
+ 29, // 72: gitaly.RefService.DeleteRefs:output_type -> gitaly.DeleteRefsResponse
+ 31, // 73: gitaly.RefService.ListBranchNamesContainingCommit:output_type -> gitaly.ListBranchNamesContainingCommitResponse
+ 33, // 74: gitaly.RefService.ListTagNamesContainingCommit:output_type -> gitaly.ListTagNamesContainingCommitResponse
+ 35, // 75: gitaly.RefService.GetTagSignatures:output_type -> gitaly.GetTagSignaturesResponse
+ 37, // 76: gitaly.RefService.GetTagMessages:output_type -> gitaly.GetTagMessagesResponse
+ 41, // 77: gitaly.RefService.PackRefs:output_type -> gitaly.PackRefsResponse
+ 43, // 78: gitaly.RefService.ListRefs:output_type -> gitaly.ListRefsResponse
+ 45, // 79: gitaly.RefService.FindRefsByOID:output_type -> gitaly.FindRefsByOIDResponse
+ 62, // [62:80] is the sub-list for method output_type
+ 44, // [44:62] is the sub-list for method input_type
+ 44, // [44:44] is the sub-list for extension type_name
+ 44, // [44:44] is the sub-list for extension extendee
+ 0, // [0:44] is the sub-list for field type_name
}
func init() { file_ref_proto_init() }
@@ -3845,6 +3983,18 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListRefsRequest_SortBy); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ref_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRefsResponse_Reference); i {
case 0:
return &v.state
@@ -3862,8 +4012,8 @@ func file_ref_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_ref_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 46,
+ NumEnums: 4,
+ NumMessages: 47,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/ref.proto b/proto/ref.proto
index c3c692e19..892624b62 100644
--- a/proto/ref.proto
+++ b/proto/ref.proto
@@ -399,6 +399,22 @@ message ListRefsRequest {
// Head determines whether the RPC should also return the HEAD reference. By default,
// pseudo-refs are not included in the response.
bool head = 3;
+
+ message SortBy {
+ enum Key {
+ REFNAME = 0;
+ CREATORDATE = 1;
+ AUTHORDATE = 2;
+ COMMITTERDATE = 3;
+ }
+
+ // Key is a key used for sorting.
+ Key key = 1;
+ SortDirection direction = 2;
+ }
+
+ // SortBy allows to request SHAs in particular order.
+ SortBy sort_by = 4;
}
// ListRefsResponse is a response for the ListRefs RPC. The RPC can return multiple responses
diff --git a/ruby/proto/gitaly/ref_pb.rb b/ruby/proto/gitaly/ref_pb.rb
index 128abcf6c..4424cf61b 100644
--- a/ruby/proto/gitaly/ref_pb.rb
+++ b/ruby/proto/gitaly/ref_pb.rb
@@ -183,6 +183,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
optional :repository, :message, 1, "gitaly.Repository"
repeated :patterns, :bytes, 2
optional :head, :bool, 3
+ optional :sort_by, :message, 4, "gitaly.ListRefsRequest.SortBy"
+ end
+ add_message "gitaly.ListRefsRequest.SortBy" do
+ optional :key, :enum, 1, "gitaly.ListRefsRequest.SortBy.Key"
+ optional :direction, :enum, 2, "gitaly.SortDirection"
+ end
+ add_enum "gitaly.ListRefsRequest.SortBy.Key" do
+ value :REFNAME, 0
+ value :CREATORDATE, 1
+ value :AUTHORDATE, 2
+ value :COMMITTERDATE, 3
end
add_message "gitaly.ListRefsResponse" do
repeated :references, :message, 1, "gitaly.ListRefsResponse.Reference"
@@ -250,6 +261,8 @@ module Gitaly
PackRefsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.PackRefsRequest").msgclass
PackRefsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.PackRefsResponse").msgclass
ListRefsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ListRefsRequest").msgclass
+ ListRefsRequest::SortBy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ListRefsRequest.SortBy").msgclass
+ ListRefsRequest::SortBy::Key = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ListRefsRequest.SortBy.Key").enummodule
ListRefsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ListRefsResponse").msgclass
ListRefsResponse::Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ListRefsResponse.Reference").msgclass
FindRefsByOIDRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindRefsByOIDRequest").msgclass