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-08-01 10:47:58 +0300
committerPavlo Strokov <pstrokov@gitlab.com>2022-08-01 10:47:58 +0300
commitd33e6f4e277e995af9894a37fa9587cb5882d05b (patch)
tree0be04ce8a505c7dfcb0627ff5869d0f0f57c6cc8
parent31ea786fbf0a7874b44efcb1f8b43bc4536d9b7e (diff)
parentc6e1eb1483962ef5e4d00bd9b7a6e627c42fea0d (diff)
Merge branch 'pks-find-tag-error' into 'master'
proto: Introduce FindTagError to distinguish non-existent tags See merge request gitlab-org/gitaly!4767
-rw-r--r--internal/gitaly/service/ref/find_tag.go122
-rw-r--r--internal/gitaly/service/ref/find_tag_test.go324
-rw-r--r--internal/gitaly/service/ref/refs.go109
-rw-r--r--internal/gitaly/service/ref/refs_test.go298
-rw-r--r--proto/errors.proto6
-rw-r--r--proto/go/gitalypb/errors.pb.go188
-rw-r--r--proto/go/gitalypb/ref.pb.go1258
-rw-r--r--proto/go/gitalypb/ref_grpc.pb.go8
-rw-r--r--proto/ref.proto23
-rw-r--r--ruby/proto/gitaly/errors_pb.rb4
-rw-r--r--ruby/proto/gitaly/ref_pb.rb4
-rw-r--r--ruby/proto/gitaly/ref_services_pb.rb4
12 files changed, 1278 insertions, 1070 deletions
diff --git a/internal/gitaly/service/ref/find_tag.go b/internal/gitaly/service/ref/find_tag.go
new file mode 100644
index 000000000..5c92d5cbf
--- /dev/null
+++ b/internal/gitaly/service/ref/find_tag.go
@@ -0,0 +1,122 @@
+package ref
+
+import (
+ "bufio"
+ "context"
+ "errors"
+ "fmt"
+ "strings"
+
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/catfile"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/helper"
+ "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb"
+)
+
+func (s *server) FindTag(ctx context.Context, in *gitalypb.FindTagRequest) (*gitalypb.FindTagResponse, error) {
+ if err := s.validateFindTagRequest(in); err != nil {
+ return nil, helper.ErrInvalidArgument(err)
+ }
+
+ repo := s.localrepo(in.GetRepository())
+
+ tag, err := s.findTag(ctx, repo, in.GetTagName())
+ if err != nil {
+ return nil, helper.ErrInternal(err)
+ }
+
+ return &gitalypb.FindTagResponse{Tag: tag}, nil
+}
+
+// parseTagLine parses a line of text with the output format %(objectname) %(objecttype) %(refname:lstrip=2)
+func parseTagLine(ctx context.Context, objectReader catfile.ObjectReader, tagLine string) (*gitalypb.Tag, error) {
+ fields := strings.SplitN(tagLine, " ", 3)
+ if len(fields) != 3 {
+ return nil, fmt.Errorf("invalid output from for-each-ref command: %v", tagLine)
+ }
+
+ tagID, refType, refName := fields[0], fields[1], fields[2]
+
+ tag := &gitalypb.Tag{
+ Id: tagID,
+ Name: []byte(refName),
+ }
+
+ switch refType {
+ // annotated tag
+ case "tag":
+ tag, err := catfile.GetTag(ctx, objectReader, git.Revision(tagID), refName)
+ if err != nil {
+ return nil, fmt.Errorf("getting annotated tag: %v", err)
+ }
+ catfile.TrimTagMessage(tag)
+
+ return tag, nil
+ case "commit":
+ commit, err := catfile.GetCommit(ctx, objectReader, git.Revision(tagID))
+ if err != nil {
+ return nil, fmt.Errorf("getting commit catfile: %v", err)
+ }
+ tag.TargetCommit = commit
+ return tag, nil
+ default:
+ return tag, nil
+ }
+}
+
+func (s *server) findTag(ctx context.Context, repo git.RepositoryExecutor, tagName []byte) (*gitalypb.Tag, error) {
+ tagCmd, err := repo.Exec(ctx,
+ git.SubCmd{
+ Name: "tag",
+ Flags: []git.Option{
+ git.Flag{Name: "-l"}, git.ValueFlag{Name: "--format", Value: tagFormat},
+ },
+ Args: []string{string(tagName)},
+ },
+ git.WithRefTxHook(repo),
+ )
+ if err != nil {
+ return nil, fmt.Errorf("for-each-ref error: %v", err)
+ }
+
+ objectReader, cancel, err := s.catfileCache.ObjectReader(ctx, repo)
+ if err != nil {
+ return nil, err
+ }
+ defer cancel()
+
+ var tag *gitalypb.Tag
+
+ scanner := bufio.NewScanner(tagCmd)
+ if scanner.Scan() {
+ tag, err = parseTagLine(ctx, objectReader, scanner.Text())
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ // TODO: this callsite will eventually be converted to return a FindTagError with
+ // `TagNotFound` set.
+ return nil, errors.New("no tag found")
+ }
+
+ if err = tagCmd.Wait(); err != nil {
+ return nil, err
+ }
+
+ return tag, nil
+}
+
+func (s *server) validateFindTagRequest(in *gitalypb.FindTagRequest) error {
+ if in.GetRepository() == nil {
+ return errors.New("repository is empty")
+ }
+
+ if _, err := s.locator.GetRepoPath(in.GetRepository()); err != nil {
+ return fmt.Errorf("invalid git directory: %v", err)
+ }
+
+ if in.GetTagName() == nil {
+ return errors.New("tag name is empty")
+ }
+ return nil
+}
diff --git a/internal/gitaly/service/ref/find_tag_test.go b/internal/gitaly/service/ref/find_tag_test.go
new file mode 100644
index 000000000..6461e9e77
--- /dev/null
+++ b/internal/gitaly/service/ref/find_tag_test.go
@@ -0,0 +1,324 @@
+//go:build !gitaly_test_sha256
+
+package ref
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/require"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/catfile"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/gittest"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/localrepo"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/git/updateref"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/helper"
+ "gitlab.com/gitlab-org/gitaly/v15/internal/testhelper"
+ "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/protobuf/types/known/timestamppb"
+)
+
+func TestFindTag_successful(t *testing.T) {
+ t.Parallel()
+
+ ctx := testhelper.Context(t)
+ cfg, repoProto, repoPath, client := setupRefService(ctx, t)
+
+ repo := localrepo.NewTestRepo(t, cfg, repoProto)
+
+ blobID := git.ObjectID("faaf198af3a36dbf41961466703cc1d47c61d051")
+ commitID := git.ObjectID("6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9")
+
+ gitCommit := testhelper.GitLabTestCommit(commitID.String())
+
+ bigCommitID := gittest.WriteCommit(t, cfg, repoPath,
+ gittest.WithBranch("local-big-commits"),
+ gittest.WithMessage("An empty commit with REALLY BIG message\n\n"+strings.Repeat("a", helper.MaxCommitOrTagMessageSize+1)),
+ gittest.WithParents("60ecb67744cb56576c30214ff52294f8ce2def98"),
+ )
+ bigCommit, err := repo.ReadCommit(ctx, git.Revision(bigCommitID))
+ require.NoError(t, err)
+
+ annotatedTagID := gittest.WriteTag(t, cfg, repoPath, "v1.2.0", blobID.Revision(), gittest.WriteTagConfig{Message: "Blob tag"})
+
+ gittest.WriteTag(t, cfg, repoPath, "v1.3.0", commitID.Revision())
+ gittest.WriteTag(t, cfg, repoPath, "v1.4.0", blobID.Revision())
+
+ // To test recursive resolving to a commit
+ gittest.WriteTag(t, cfg, repoPath, "v1.5.0", "v1.3.0")
+
+ // A tag to commit with a big message
+ gittest.WriteTag(t, cfg, repoPath, "v1.6.0", bigCommitID.Revision())
+
+ // A tag with a big message
+ bigMessage := strings.Repeat("a", 11*1024)
+ bigMessageTag1ID := gittest.WriteTag(t, cfg, repoPath, "v1.7.0", commitID.Revision(), gittest.WriteTagConfig{Message: bigMessage})
+
+ // A tag with a commit id as its name
+ commitTagID := gittest.WriteTag(t, cfg, repoPath, commitID.String(), commitID.Revision(), gittest.WriteTagConfig{Message: "commit tag with a commit sha as the name"})
+
+ // a tag of a tag
+ tagOfTagID := gittest.WriteTag(t, cfg, repoPath, "tag-of-tag", commitTagID.Revision(), gittest.WriteTagConfig{Message: "tag of a tag"})
+
+ expectedTags := []*gitalypb.Tag{
+ {
+ Name: []byte(commitID),
+ Id: commitTagID.String(),
+ TargetCommit: gitCommit,
+ Message: []byte("commit tag with a commit sha as the name"),
+ MessageSize: 40,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte(gittest.DefaultCommitterName),
+ Email: []byte(gittest.DefaultCommitterMail),
+ Date: timestamppb.New(gittest.DefaultCommitTime),
+ Timezone: []byte("+0100"),
+ },
+ },
+ {
+ Name: []byte("tag-of-tag"),
+ Id: tagOfTagID.String(),
+ TargetCommit: gitCommit,
+ Message: []byte("tag of a tag"),
+ MessageSize: 12,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte(gittest.DefaultCommitterName),
+ Email: []byte(gittest.DefaultCommitterMail),
+ Date: timestamppb.New(gittest.DefaultCommitTime),
+ Timezone: []byte("+0100"),
+ },
+ },
+ {
+ Name: []byte("v1.0.0"),
+ Id: "f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8",
+ TargetCommit: gitCommit,
+ Message: []byte("Release"),
+ MessageSize: 7,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte("Dmitriy Zaporozhets"),
+ Email: []byte("dmitriy.zaporozhets@gmail.com"),
+ Date: &timestamppb.Timestamp{Seconds: 1393491299},
+ Timezone: []byte("+0200"),
+ },
+ SignatureType: gitalypb.SignatureType_NONE,
+ },
+ {
+ Name: []byte("v1.1.0"),
+ Id: "8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b",
+ TargetCommit: testhelper.GitLabTestCommit("5937ac0a7beb003549fc5fd26fc247adbce4a52e"),
+ Message: []byte("Version 1.1.0"),
+ MessageSize: 13,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte("Dmitriy Zaporozhets"),
+ Email: []byte("dmitriy.zaporozhets@gmail.com"),
+ Date: &timestamppb.Timestamp{Seconds: 1393505709},
+ Timezone: []byte("+0200"),
+ },
+ },
+ {
+ Name: []byte("v1.1.1"),
+ Id: "8f03acbcd11c53d9c9468078f32a2622005a4841",
+ TargetCommit: testhelper.GitLabTestCommit("189a6c924013fc3fe40d6f1ec1dc20214183bc97"),
+ Message: []byte("x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\nhvcNAQcBoIIP8zCCB3QwggVcoAMCAQICBBXXLOIwDQYJKoZIhvcNAQELBQAwgbYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVu\nMRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwU\nU2llbWVucyBUcnVzdCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBD\nQSBNZWRpdW0gU3RyZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjAeFw0xNzAyMDMw\nNjU4MzNaFw0yMDAyMDMwNjU4MzNaMFsxETAPBgNVBAUTCFowMDBOV0RIMQ4wDAYD\nVQQqDAVSb2dlcjEOMAwGA1UEBAwFTWVpZXIxEDAOBgNVBAoMB1NpZW1lbnMxFDAS\nBgNVBAMMC01laWVyIFJvZ2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAuBNea/68ZCnHYQjpm/k3ZBG0wBpEKSwG6lk9CEQlSxsqVLQHAoAKBIlJm1in\nYVLcK/Sq1yhYJ/qWcY/M53DhK2rpPuhtrWJUdOUy8EBWO20F4bd4Fw9pO7jt8bme\nu33TSrK772vKjuppzB6SeG13Cs08H+BIeD106G27h7ufsO00pvsxoSDL+uc4slnr\npBL+2TAL7nSFnB9QHWmRIK27SPqJE+lESdb0pse11x1wjvqKy2Q7EjL9fpqJdHzX\nNLKHXd2r024TOORTa05DFTNR+kQEKKV96XfpYdtSBomXNQ44cisiPBJjFtYvfnFE\nwgrHa8fogn/b0C+A+HAoICN12wIDAQABo4IC4jCCAt4wHQYDVR0OBBYEFCF+gkUp\nXQ6xGc0kRWXuDFxzA14zMEMGA1UdEQQ8MDqgIwYKKwYBBAGCNxQCA6AVDBNyLm1l\naWVyQHNpZW1lbnMuY29tgRNyLm1laWVyQHNpZW1lbnMuY29tMA4GA1UdDwEB/wQE\nAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgcoGA1UdHwSBwjCB\nvzCBvKCBuaCBtoYmaHR0cDovL2NoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBNi5j\ncmyGQWxkYXA6Ly9jbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpBNixMPVBLST9jZXJ0\naWZpY2F0ZVJldm9jYXRpb25MaXN0hklsZGFwOi8vY2wuc2llbWVucy5jb20vQ049\nWlpaWlpaQTYsbz1UcnVzdGNlbnRlcj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0\nMEUGA1UdIAQ+MDwwOgYNKwYBBAGhaQcCAgMBAzApMCcGCCsGAQUFBwIBFhtodHRw\nOi8vd3d3LnNpZW1lbnMuY29tL3BraS8wDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAW\ngBT4FV1HDGx3e3LEAheRaKK292oJRDCCAQQGCCsGAQUFBwEBBIH3MIH0MDIGCCsG\nAQUFBzAChiZodHRwOi8vYWguc2llbWVucy5jb20vcGtpP1paWlpaWkE2LmNydDBB\nBggrBgEFBQcwAoY1bGRhcDovL2FsLnNpZW1lbnMubmV0L0NOPVpaWlpaWkE2LEw9\nUEtJP2NBQ2VydGlmaWNhdGUwSQYIKwYBBQUHMAKGPWxkYXA6Ly9hbC5zaWVtZW5z\nLmNvbS9DTj1aWlpaWlpBNixvPVRydXN0Y2VudGVyP2NBQ2VydGlmaWNhdGUwMAYI\nKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLnBraS1zZXJ2aWNlcy5zaWVtZW5zLmNvbTAN\nBgkqhkiG9w0BAQsFAAOCAgEAXPVcX6vaEcszJqg5IemF9aFTlwTrX5ITNIpzcqG+\nkD5haOf2mZYLjl+MKtLC1XfmIsGCUZNb8bjP6QHQEI+2d6x/ZOqPq7Kd7PwVu6x6\nxZrkDjUyhUbUntT5+RBy++l3Wf6Cq6Kx+K8ambHBP/bu90/p2U8KfFAG3Kr2gI2q\nfZrnNMOxmJfZ3/sXxssgLkhbZ7hRa+MpLfQ6uFsSiat3vlawBBvTyHnoZ/7oRc8y\nqi6QzWcd76CPpMElYWibl+hJzKbBZUWvc71AzHR6i1QeZ6wubYz7vr+FF5Y7tnxB\nVz6omPC9XAg0F+Dla6Zlz3Awj5imCzVXa+9SjtnsidmJdLcKzTAKyDewewoxYOOJ\nj3cJU7VSjJPl+2fVmDBaQwcNcUcu/TPAKApkegqO7tRF9IPhjhW8QkRnkqMetO3D\nOXmAFVIsEI0Hvb2cdb7B6jSpjGUuhaFm9TCKhQtCk2p8JCDTuaENLm1x34rrJKbT\n2vzyYN0CZtSkUdgD4yQxK9VWXGEzexRisWb4AnZjD2NAquLPpXmw8N0UwFD7MSpC\ndpaX7FktdvZmMXsnGiAdtLSbBgLVWOD1gmJFDjrhNbI8NOaOaNk4jrfGqNh5lhGU\n4DnBT2U6Cie1anLmFH/oZooAEXR2o3Nu+1mNDJChnJp0ovs08aa3zZvBdcloOvfU\nqdowggh3MIIGX6ADAgECAgQtyi/nMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UE\nCgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaQTExHTAbBgNVBAsMFFNpZW1lbnMg\nVHJ1c3QgQ2VudGVyMSIwIAYDVQQDDBlTaWVtZW5zIFJvb3QgQ0EgVjMuMCAyMDE2\nMB4XDTE2MDcyMDEzNDYxMFoXDTIyMDcyMDEzNDYxMFowgbYxCzAJBgNVBAYTAkRF\nMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdT\naWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwUU2llbWVucyBUcnVz\ndCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBDQSBNZWRpdW0gU3Ry\nZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAL9UfK+JAZEqVMVvECdYF9IK4KSw34AqyNl3rYP5x03dtmKaNu+2\n0fQqNESA1NGzw3s6LmrKLh1cR991nB2cvKOXu7AvEGpSuxzIcOROd4NpvRx+Ej1p\nJIPeqf+ScmVK7lMSO8QL/QzjHOpGV3is9sG+ZIxOW9U1ESooy4Hal6ZNs4DNItsz\npiCKqm6G3et4r2WqCy2RRuSqvnmMza7Y8BZsLy0ZVo5teObQ37E/FxqSrbDI8nxn\nB7nVUve5ZjrqoIGSkEOtyo11003dVO1vmWB9A0WQGDqE/q3w178hGhKfxzRaqzyi\nSoADUYS2sD/CglGTUxVq6u0pGLLsCFjItcCWqW+T9fPYfJ2CEd5b3hvqdCn+pXjZ\n/gdX1XAcdUF5lRnGWifaYpT9n4s4adzX8q6oHSJxTppuAwLRKH6eXALbGQ1I9lGQ\nDSOipD/09xkEsPw6HOepmf2U3YxZK1VU2sHqugFJboeLcHMzp6E1n2ctlNG1GKE9\nFDHmdyFzDi0Nnxtf/GgVjnHF68hByEE1MYdJ4nJLuxoT9hyjYdRW9MpeNNxxZnmz\nW3zh7QxIqP0ZfIz6XVhzrI9uZiqwwojDiM5tEOUkQ7XyW6grNXe75yt6mTj89LlB\nH5fOW2RNmCy/jzBXDjgyskgK7kuCvUYTuRv8ITXbBY5axFA+CpxZqokpAgMBAAGj\nggKmMIICojCCAQUGCCsGAQUFBwEBBIH4MIH1MEEGCCsGAQUFBzAChjVsZGFwOi8v\nYWwuc2llbWVucy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/Y0FDZXJ0aWZpY2F0ZTAy\nBggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBMS5j\ncnQwSgYIKwYBBQUHMAKGPmxkYXA6Ly9hbC5zaWVtZW5zLmNvbS91aWQ9WlpaWlpa\nQTEsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRw\nOi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wHwYDVR0jBBgwFoAUcG2g\nUOyp0CxnnRkV/v0EczXD4tQwEgYDVR0TAQH/BAgwBgEB/wIBADBABgNVHSAEOTA3\nMDUGCCsGAQQBoWkHMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuc2llbWVucy5j\nb20vcGtpLzCBxwYDVR0fBIG/MIG8MIG5oIG2oIGzhj9sZGFwOi8vY2wuc2llbWVu\ncy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/YXV0aG9yaXR5UmV2b2NhdGlvbkxpc3SG\nJmh0dHA6Ly9jaC5zaWVtZW5zLmNvbS9wa2k/WlpaWlpaQTEuY3JshkhsZGFwOi8v\nY2wuc2llbWVucy5jb20vdWlkPVpaWlpaWkExLG89VHJ1c3RjZW50ZXI/YXV0aG9y\naXR5UmV2b2NhdGlvbkxpc3QwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwME\nBggrBgEFBQcDCTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPgVXUcMbHd7csQC\nF5Foorb3aglEMA0GCSqGSIb3DQEBCwUAA4ICAQBw+sqMp3SS7DVKcILEmXbdRAg3\nlLO1r457KY+YgCT9uX4VG5EdRKcGfWXK6VHGCi4Dos5eXFV34Mq/p8nu1sqMuoGP\nYjHn604eWDprhGy6GrTYdxzcE/GGHkpkuE3Ir/45UcmZlOU41SJ9SNjuIVrSHMOf\nccSY42BCspR/Q1Z/ykmIqQecdT3/Kkx02GzzSN2+HlW6cEO4GBW5RMqsvd2n0h2d\nfe2zcqOgkLtx7u2JCR/U77zfyxG3qXtcymoz0wgSHcsKIl+GUjITLkHfS9Op8V7C\nGr/dX437sIg5pVHmEAWadjkIzqdHux+EF94Z6kaHywohc1xG0KvPYPX7iSNjkvhz\n4NY53DHmxl4YEMLffZnaS/dqyhe1GTpcpyN8WiR4KuPfxrkVDOsuzWFtMSvNdlOV\ngdI0MXcLMP+EOeANZWX6lGgJ3vWyemo58nzgshKd24MY3w3i6masUkxJH2KvI7UH\n/1Db3SC8oOUjInvSRej6M3ZhYWgugm6gbpUgFoDw/o9Cg6Qm71hY0JtcaPC13rzm\nN8a2Br0+Fa5e2VhwLmAxyfe1JKzqPwuHT0S5u05SQghL5VdzqfA8FCL/j4XC9yI6\ncsZTAQi73xFQYVjZt3+aoSz84lOlTmVo/jgvGMY/JzH9I4mETGgAJRNj34Z/0meh\nM+pKWCojNH/dgyJSwDGCAlIwggJOAgEBMIG/MIG2MQswCQYDVQQGEwJERTEPMA0G\nA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UECgwHU2llbWVu\nczERMA8GA1UEBRMIWlpaWlpaQTYxHTAbBgNVBAsMFFNpZW1lbnMgVHJ1c3QgQ2Vu\ndGVyMT8wPQYDVQQDDDZTaWVtZW5zIElzc3VpbmcgQ0EgTWVkaXVtIFN0cmVuZ3Ro\nIEF1dGhlbnRpY2F0aW9uIDIwMTYCBBXXLOIwCwYJYIZIAWUDBAIBoGkwHAYJKoZI\nhvcNAQkFMQ8XDTE5MTEyMDE0NTYyMFowLwYJKoZIhvcNAQkEMSIEIJDnZUpcVLzC\nOdtpkH8gtxwLPIDE0NmAmFC9uM8q2z+OMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B\nBwEwCwYJKoZIhvcNAQEBBIIBAH/Pqv2xp3a0jSPkwU1K3eGA/1lfoNJMUny4d/PS\nLVWlkgrmedXdLmuBzAGEaaZOJS0lEpNd01pR/reHs7xxZ+RZ0olTs2ufM0CijQSx\nOL9HDl2O3OoD77NWx4tl3Wy1yJCeV3XH/cEI7AkKHCmKY9QMoMYWh16ORBtr+YcS\nYK+gONOjpjgcgTJgZ3HSFgQ50xiD4WT1kFBHsuYsLqaOSbTfTN6Ayyg4edjrPQqa\nVcVf1OQcIrfWA3yMQrnEZfOYfN/D4EPjTfxBV+VCi/F2bdZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"),
+ MessageSize: 6494,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte("Roger Meier"),
+ Email: []byte("r.meier@siemens.com"),
+ Date: &timestamppb.Timestamp{Seconds: 1574261780},
+ Timezone: []byte("+0100"),
+ },
+ SignatureType: gitalypb.SignatureType_X509,
+ },
+ {
+ Name: []byte("v1.2.0"),
+ Id: annotatedTagID.String(),
+ Message: []byte("Blob tag"),
+ MessageSize: 8,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte(gittest.DefaultCommitterName),
+ Email: []byte(gittest.DefaultCommitterMail),
+ Date: timestamppb.New(gittest.DefaultCommitTime),
+ Timezone: []byte("+0100"),
+ },
+ },
+ {
+ Name: []byte("v1.3.0"),
+ Id: commitID.String(),
+ TargetCommit: gitCommit,
+ },
+ {
+ Name: []byte("v1.4.0"),
+ Id: blobID.String(),
+ },
+ {
+ Name: []byte("v1.5.0"),
+ Id: commitID.String(),
+ TargetCommit: gitCommit,
+ },
+ {
+ Name: []byte("v1.6.0"),
+ Id: bigCommitID.String(),
+ TargetCommit: bigCommit,
+ },
+ {
+ Name: []byte("v1.7.0"),
+ Id: bigMessageTag1ID.String(),
+ Message: []byte(bigMessage[:helper.MaxCommitOrTagMessageSize]),
+ MessageSize: int64(len(bigMessage)),
+ TargetCommit: gitCommit,
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte(gittest.DefaultCommitterName),
+ Email: []byte(gittest.DefaultCommitterMail),
+ Date: timestamppb.New(gittest.DefaultCommitTime),
+ Timezone: []byte("+0100"),
+ },
+ },
+ }
+
+ for _, expectedTag := range expectedTags {
+ rpcRequest := &gitalypb.FindTagRequest{Repository: repoProto, TagName: expectedTag.Name}
+
+ resp, err := client.FindTag(ctx, rpcRequest)
+ require.NoError(t, err)
+
+ testhelper.ProtoEqual(t, expectedTag, resp.GetTag())
+ }
+}
+
+func TestFindTag_nestedTag(t *testing.T) {
+ t.Parallel()
+
+ ctx := testhelper.Context(t)
+ cfg, repoProto, repoPath, client := setupRefService(ctx, t)
+
+ repo := localrepo.NewTestRepo(t, cfg, repoProto)
+
+ blobID := git.ObjectID("faaf198af3a36dbf41961466703cc1d47c61d051")
+ commitID := git.ObjectID("6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9")
+
+ testCases := []struct {
+ description string
+ depth int
+ originalOid git.ObjectID
+ }{
+ {
+ description: "nested 1 deep, points to a commit",
+ depth: 1,
+ originalOid: commitID,
+ },
+ {
+ description: "nested 4 deep, points to a commit",
+ depth: 4,
+ originalOid: commitID,
+ },
+ {
+ description: "nested 3 deep, points to a blob",
+ depth: 3,
+ originalOid: blobID,
+ },
+ {
+ description: "nested 20 deep, points to a commit",
+ depth: 20,
+ originalOid: commitID,
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.description, func(t *testing.T) {
+ tags, err := repo.GetReferences(ctx, "refs/tags/")
+ require.NoError(t, err)
+
+ updater, err := updateref.New(ctx, repo)
+ require.NoError(t, err)
+ for _, tag := range tags {
+ require.NoError(t, updater.Delete(tag.Name))
+ }
+ require.NoError(t, updater.Commit())
+
+ catfileCache := catfile.NewCache(cfg)
+ defer catfileCache.Stop()
+
+ objectReader, cancel, err := catfileCache.ObjectReader(ctx, repo)
+ require.NoError(t, err)
+ defer cancel()
+
+ objectInfoReader, cancel, err := catfileCache.ObjectInfoReader(ctx, repo)
+ require.NoError(t, err)
+ defer cancel()
+
+ info, err := objectInfoReader.Info(ctx, git.Revision(tc.originalOid))
+ require.NoError(t, err)
+
+ tagID := tc.originalOid
+ var tagName, tagMessage string
+
+ for depth := 0; depth < tc.depth; depth++ {
+ tagName = fmt.Sprintf("tag-depth-%d", depth)
+ tagMessage = fmt.Sprintf("a commit %d deep", depth)
+ tagID = gittest.WriteTag(t, cfg, repoPath, tagName, tagID.Revision(), gittest.WriteTagConfig{Message: tagMessage})
+ }
+ expectedTag := &gitalypb.Tag{
+ Name: []byte(tagName),
+ Id: tagID.String(),
+ Message: []byte(tagMessage),
+ MessageSize: int64(len([]byte(tagMessage))),
+ Tagger: &gitalypb.CommitAuthor{
+ Name: []byte(gittest.DefaultCommitterName),
+ Email: []byte(gittest.DefaultCommitterMail),
+ Date: timestamppb.New(gittest.DefaultCommitTime),
+ Timezone: []byte("+0100"),
+ },
+ }
+ if info.Type == "commit" {
+ commit, err := catfile.GetCommit(ctx, objectReader, git.Revision(tc.originalOid))
+ require.NoError(t, err)
+ expectedTag.TargetCommit = commit
+ }
+ rpcRequest := &gitalypb.FindTagRequest{Repository: repoProto, TagName: []byte(tagName)}
+
+ resp, err := client.FindTag(ctx, rpcRequest)
+ require.NoError(t, err)
+ require.Equal(t, expectedTag, resp.GetTag())
+ })
+ }
+}
+
+func TestFindTag_invalidRequest(t *testing.T) {
+ t.Parallel()
+
+ ctx := testhelper.Context(t)
+ _, repo, _, client := setupRefService(ctx, t)
+
+ testCases := []struct {
+ desc string
+ request *gitalypb.FindTagRequest
+ }{
+ {
+ desc: "empty request",
+ request: &gitalypb.FindTagRequest{},
+ },
+ {
+ desc: "invalid repo",
+ request: &gitalypb.FindTagRequest{
+ Repository: &gitalypb.Repository{
+ StorageName: "fake",
+ RelativePath: "repo",
+ },
+ },
+ },
+ {
+ desc: "empty tag name",
+ request: &gitalypb.FindTagRequest{
+ Repository: repo,
+ },
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.desc, func(t *testing.T) {
+ _, err := client.FindTag(ctx, tc.request)
+ testhelper.RequireGrpcCode(t, err, codes.InvalidArgument)
+ })
+ }
+}
diff --git a/internal/gitaly/service/ref/refs.go b/internal/gitaly/service/ref/refs.go
index 998415e6d..0e1f13eb6 100644
--- a/internal/gitaly/service/ref/refs.go
+++ b/internal/gitaly/service/ref/refs.go
@@ -1,16 +1,13 @@
package ref
import (
- "bufio"
"bytes"
"context"
- "errors"
"fmt"
"math"
"strings"
"gitlab.com/gitlab-org/gitaly/v15/internal/git"
- "gitlab.com/gitlab-org/gitaly/v15/internal/git/catfile"
"gitlab.com/gitlab-org/gitaly/v15/internal/helper"
"gitlab.com/gitlab-org/gitaly/v15/internal/helper/lines"
"gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb"
@@ -175,112 +172,6 @@ func (s *server) findAllBranches(in *gitalypb.FindAllBranchesRequest, stream git
return s.findRefs(ctx, writer, repo, patterns, opts)
}
-func (s *server) FindTag(ctx context.Context, in *gitalypb.FindTagRequest) (*gitalypb.FindTagResponse, error) {
- if err := s.validateFindTagRequest(in); err != nil {
- return nil, helper.ErrInvalidArgument(err)
- }
-
- repo := s.localrepo(in.GetRepository())
-
- tag, err := s.findTag(ctx, repo, in.GetTagName())
- if err != nil {
- return nil, helper.ErrInternal(err)
- }
-
- return &gitalypb.FindTagResponse{Tag: tag}, nil
-}
-
-// parseTagLine parses a line of text with the output format %(objectname) %(objecttype) %(refname:lstrip=2)
-func parseTagLine(ctx context.Context, objectReader catfile.ObjectReader, tagLine string) (*gitalypb.Tag, error) {
- fields := strings.SplitN(tagLine, " ", 3)
- if len(fields) != 3 {
- return nil, fmt.Errorf("invalid output from for-each-ref command: %v", tagLine)
- }
-
- tagID, refType, refName := fields[0], fields[1], fields[2]
-
- tag := &gitalypb.Tag{
- Id: tagID,
- Name: []byte(refName),
- }
-
- switch refType {
- // annotated tag
- case "tag":
- tag, err := catfile.GetTag(ctx, objectReader, git.Revision(tagID), refName)
- if err != nil {
- return nil, fmt.Errorf("getting annotated tag: %v", err)
- }
- catfile.TrimTagMessage(tag)
-
- return tag, nil
- case "commit":
- commit, err := catfile.GetCommit(ctx, objectReader, git.Revision(tagID))
- if err != nil {
- return nil, fmt.Errorf("getting commit catfile: %v", err)
- }
- tag.TargetCommit = commit
- return tag, nil
- default:
- return tag, nil
- }
-}
-
-func (s *server) findTag(ctx context.Context, repo git.RepositoryExecutor, tagName []byte) (*gitalypb.Tag, error) {
- tagCmd, err := repo.Exec(ctx,
- git.SubCmd{
- Name: "tag",
- Flags: []git.Option{
- git.Flag{Name: "-l"}, git.ValueFlag{Name: "--format", Value: tagFormat},
- },
- Args: []string{string(tagName)},
- },
- git.WithRefTxHook(repo),
- )
- if err != nil {
- return nil, fmt.Errorf("for-each-ref error: %v", err)
- }
-
- objectReader, cancel, err := s.catfileCache.ObjectReader(ctx, repo)
- if err != nil {
- return nil, err
- }
- defer cancel()
-
- var tag *gitalypb.Tag
-
- scanner := bufio.NewScanner(tagCmd)
- if scanner.Scan() {
- tag, err = parseTagLine(ctx, objectReader, scanner.Text())
- if err != nil {
- return nil, err
- }
- } else {
- return nil, errors.New("no tag found")
- }
-
- if err = tagCmd.Wait(); err != nil {
- return nil, err
- }
-
- return tag, nil
-}
-
-func (s *server) validateFindTagRequest(in *gitalypb.FindTagRequest) error {
- if in.GetRepository() == nil {
- return errors.New("repository is empty")
- }
-
- if _, err := s.locator.GetRepoPath(in.GetRepository()); err != nil {
- return fmt.Errorf("invalid git directory: %v", err)
- }
-
- if in.GetTagName() == nil {
- return errors.New("tag name is empty")
- }
- return nil
-}
-
func buildPaginationOpts(ctx context.Context, p *gitalypb.PaginationParameter) *paginationOpts {
opts := &paginationOpts{}
opts.IsPageToken = func(_ []byte) bool { return true }
diff --git a/internal/gitaly/service/ref/refs_test.go b/internal/gitaly/service/ref/refs_test.go
index 99e4a3d6f..404ea6af8 100644
--- a/internal/gitaly/service/ref/refs_test.go
+++ b/internal/gitaly/service/ref/refs_test.go
@@ -12,7 +12,6 @@ import (
"github.com/stretchr/testify/require"
"gitlab.com/gitlab-org/gitaly/v15/internal/git"
- "gitlab.com/gitlab-org/gitaly/v15/internal/git/catfile"
"gitlab.com/gitlab-org/gitaly/v15/internal/git/gittest"
"gitlab.com/gitlab-org/gitaly/v15/internal/git/localrepo"
"gitlab.com/gitlab-org/gitaly/v15/internal/git/updateref"
@@ -863,300 +862,3 @@ func TestListBranchNamesContainingCommit(t *testing.T) {
})
}
}
-
-func TestSuccessfulFindTagRequest(t *testing.T) {
- ctx := testhelper.Context(t)
- cfg, repoProto, repoPath, client := setupRefService(ctx, t)
-
- repo := localrepo.NewTestRepo(t, cfg, repoProto)
-
- blobID := git.ObjectID("faaf198af3a36dbf41961466703cc1d47c61d051")
- commitID := git.ObjectID("6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9")
-
- gitCommit := testhelper.GitLabTestCommit(commitID.String())
-
- bigCommitID := gittest.WriteCommit(t, cfg, repoPath,
- gittest.WithBranch("local-big-commits"),
- gittest.WithMessage("An empty commit with REALLY BIG message\n\n"+strings.Repeat("a", helper.MaxCommitOrTagMessageSize+1)),
- gittest.WithParents("60ecb67744cb56576c30214ff52294f8ce2def98"),
- )
- bigCommit, err := repo.ReadCommit(ctx, git.Revision(bigCommitID))
- require.NoError(t, err)
-
- annotatedTagID := gittest.WriteTag(t, cfg, repoPath, "v1.2.0", blobID.Revision(), gittest.WriteTagConfig{Message: "Blob tag"})
-
- gittest.WriteTag(t, cfg, repoPath, "v1.3.0", commitID.Revision())
- gittest.WriteTag(t, cfg, repoPath, "v1.4.0", blobID.Revision())
-
- // To test recursive resolving to a commit
- gittest.WriteTag(t, cfg, repoPath, "v1.5.0", "v1.3.0")
-
- // A tag to commit with a big message
- gittest.WriteTag(t, cfg, repoPath, "v1.6.0", bigCommitID.Revision())
-
- // A tag with a big message
- bigMessage := strings.Repeat("a", 11*1024)
- bigMessageTag1ID := gittest.WriteTag(t, cfg, repoPath, "v1.7.0", commitID.Revision(), gittest.WriteTagConfig{Message: bigMessage})
-
- // A tag with a commit id as its name
- commitTagID := gittest.WriteTag(t, cfg, repoPath, commitID.String(), commitID.Revision(), gittest.WriteTagConfig{Message: "commit tag with a commit sha as the name"})
-
- // a tag of a tag
- tagOfTagID := gittest.WriteTag(t, cfg, repoPath, "tag-of-tag", commitTagID.Revision(), gittest.WriteTagConfig{Message: "tag of a tag"})
-
- expectedTags := []*gitalypb.Tag{
- {
- Name: []byte(commitID),
- Id: commitTagID.String(),
- TargetCommit: gitCommit,
- Message: []byte("commit tag with a commit sha as the name"),
- MessageSize: 40,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte(gittest.DefaultCommitterName),
- Email: []byte(gittest.DefaultCommitterMail),
- Date: timestamppb.New(gittest.DefaultCommitTime),
- Timezone: []byte("+0100"),
- },
- },
- {
- Name: []byte("tag-of-tag"),
- Id: tagOfTagID.String(),
- TargetCommit: gitCommit,
- Message: []byte("tag of a tag"),
- MessageSize: 12,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte(gittest.DefaultCommitterName),
- Email: []byte(gittest.DefaultCommitterMail),
- Date: timestamppb.New(gittest.DefaultCommitTime),
- Timezone: []byte("+0100"),
- },
- },
- {
- Name: []byte("v1.0.0"),
- Id: "f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8",
- TargetCommit: gitCommit,
- Message: []byte("Release"),
- MessageSize: 7,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte("Dmitriy Zaporozhets"),
- Email: []byte("dmitriy.zaporozhets@gmail.com"),
- Date: &timestamppb.Timestamp{Seconds: 1393491299},
- Timezone: []byte("+0200"),
- },
- SignatureType: gitalypb.SignatureType_NONE,
- },
- {
- Name: []byte("v1.1.0"),
- Id: "8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b",
- TargetCommit: testhelper.GitLabTestCommit("5937ac0a7beb003549fc5fd26fc247adbce4a52e"),
- Message: []byte("Version 1.1.0"),
- MessageSize: 13,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte("Dmitriy Zaporozhets"),
- Email: []byte("dmitriy.zaporozhets@gmail.com"),
- Date: &timestamppb.Timestamp{Seconds: 1393505709},
- Timezone: []byte("+0200"),
- },
- },
- {
- Name: []byte("v1.1.1"),
- Id: "8f03acbcd11c53d9c9468078f32a2622005a4841",
- TargetCommit: testhelper.GitLabTestCommit("189a6c924013fc3fe40d6f1ec1dc20214183bc97"),
- Message: []byte("x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\nhvcNAQcBoIIP8zCCB3QwggVcoAMCAQICBBXXLOIwDQYJKoZIhvcNAQELBQAwgbYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVu\nMRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwU\nU2llbWVucyBUcnVzdCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBD\nQSBNZWRpdW0gU3RyZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjAeFw0xNzAyMDMw\nNjU4MzNaFw0yMDAyMDMwNjU4MzNaMFsxETAPBgNVBAUTCFowMDBOV0RIMQ4wDAYD\nVQQqDAVSb2dlcjEOMAwGA1UEBAwFTWVpZXIxEDAOBgNVBAoMB1NpZW1lbnMxFDAS\nBgNVBAMMC01laWVyIFJvZ2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAuBNea/68ZCnHYQjpm/k3ZBG0wBpEKSwG6lk9CEQlSxsqVLQHAoAKBIlJm1in\nYVLcK/Sq1yhYJ/qWcY/M53DhK2rpPuhtrWJUdOUy8EBWO20F4bd4Fw9pO7jt8bme\nu33TSrK772vKjuppzB6SeG13Cs08H+BIeD106G27h7ufsO00pvsxoSDL+uc4slnr\npBL+2TAL7nSFnB9QHWmRIK27SPqJE+lESdb0pse11x1wjvqKy2Q7EjL9fpqJdHzX\nNLKHXd2r024TOORTa05DFTNR+kQEKKV96XfpYdtSBomXNQ44cisiPBJjFtYvfnFE\nwgrHa8fogn/b0C+A+HAoICN12wIDAQABo4IC4jCCAt4wHQYDVR0OBBYEFCF+gkUp\nXQ6xGc0kRWXuDFxzA14zMEMGA1UdEQQ8MDqgIwYKKwYBBAGCNxQCA6AVDBNyLm1l\naWVyQHNpZW1lbnMuY29tgRNyLm1laWVyQHNpZW1lbnMuY29tMA4GA1UdDwEB/wQE\nAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgcoGA1UdHwSBwjCB\nvzCBvKCBuaCBtoYmaHR0cDovL2NoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBNi5j\ncmyGQWxkYXA6Ly9jbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpBNixMPVBLST9jZXJ0\naWZpY2F0ZVJldm9jYXRpb25MaXN0hklsZGFwOi8vY2wuc2llbWVucy5jb20vQ049\nWlpaWlpaQTYsbz1UcnVzdGNlbnRlcj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0\nMEUGA1UdIAQ+MDwwOgYNKwYBBAGhaQcCAgMBAzApMCcGCCsGAQUFBwIBFhtodHRw\nOi8vd3d3LnNpZW1lbnMuY29tL3BraS8wDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAW\ngBT4FV1HDGx3e3LEAheRaKK292oJRDCCAQQGCCsGAQUFBwEBBIH3MIH0MDIGCCsG\nAQUFBzAChiZodHRwOi8vYWguc2llbWVucy5jb20vcGtpP1paWlpaWkE2LmNydDBB\nBggrBgEFBQcwAoY1bGRhcDovL2FsLnNpZW1lbnMubmV0L0NOPVpaWlpaWkE2LEw9\nUEtJP2NBQ2VydGlmaWNhdGUwSQYIKwYBBQUHMAKGPWxkYXA6Ly9hbC5zaWVtZW5z\nLmNvbS9DTj1aWlpaWlpBNixvPVRydXN0Y2VudGVyP2NBQ2VydGlmaWNhdGUwMAYI\nKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLnBraS1zZXJ2aWNlcy5zaWVtZW5zLmNvbTAN\nBgkqhkiG9w0BAQsFAAOCAgEAXPVcX6vaEcszJqg5IemF9aFTlwTrX5ITNIpzcqG+\nkD5haOf2mZYLjl+MKtLC1XfmIsGCUZNb8bjP6QHQEI+2d6x/ZOqPq7Kd7PwVu6x6\nxZrkDjUyhUbUntT5+RBy++l3Wf6Cq6Kx+K8ambHBP/bu90/p2U8KfFAG3Kr2gI2q\nfZrnNMOxmJfZ3/sXxssgLkhbZ7hRa+MpLfQ6uFsSiat3vlawBBvTyHnoZ/7oRc8y\nqi6QzWcd76CPpMElYWibl+hJzKbBZUWvc71AzHR6i1QeZ6wubYz7vr+FF5Y7tnxB\nVz6omPC9XAg0F+Dla6Zlz3Awj5imCzVXa+9SjtnsidmJdLcKzTAKyDewewoxYOOJ\nj3cJU7VSjJPl+2fVmDBaQwcNcUcu/TPAKApkegqO7tRF9IPhjhW8QkRnkqMetO3D\nOXmAFVIsEI0Hvb2cdb7B6jSpjGUuhaFm9TCKhQtCk2p8JCDTuaENLm1x34rrJKbT\n2vzyYN0CZtSkUdgD4yQxK9VWXGEzexRisWb4AnZjD2NAquLPpXmw8N0UwFD7MSpC\ndpaX7FktdvZmMXsnGiAdtLSbBgLVWOD1gmJFDjrhNbI8NOaOaNk4jrfGqNh5lhGU\n4DnBT2U6Cie1anLmFH/oZooAEXR2o3Nu+1mNDJChnJp0ovs08aa3zZvBdcloOvfU\nqdowggh3MIIGX6ADAgECAgQtyi/nMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UE\nCgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaQTExHTAbBgNVBAsMFFNpZW1lbnMg\nVHJ1c3QgQ2VudGVyMSIwIAYDVQQDDBlTaWVtZW5zIFJvb3QgQ0EgVjMuMCAyMDE2\nMB4XDTE2MDcyMDEzNDYxMFoXDTIyMDcyMDEzNDYxMFowgbYxCzAJBgNVBAYTAkRF\nMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdT\naWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwUU2llbWVucyBUcnVz\ndCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBDQSBNZWRpdW0gU3Ry\nZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAL9UfK+JAZEqVMVvECdYF9IK4KSw34AqyNl3rYP5x03dtmKaNu+2\n0fQqNESA1NGzw3s6LmrKLh1cR991nB2cvKOXu7AvEGpSuxzIcOROd4NpvRx+Ej1p\nJIPeqf+ScmVK7lMSO8QL/QzjHOpGV3is9sG+ZIxOW9U1ESooy4Hal6ZNs4DNItsz\npiCKqm6G3et4r2WqCy2RRuSqvnmMza7Y8BZsLy0ZVo5teObQ37E/FxqSrbDI8nxn\nB7nVUve5ZjrqoIGSkEOtyo11003dVO1vmWB9A0WQGDqE/q3w178hGhKfxzRaqzyi\nSoADUYS2sD/CglGTUxVq6u0pGLLsCFjItcCWqW+T9fPYfJ2CEd5b3hvqdCn+pXjZ\n/gdX1XAcdUF5lRnGWifaYpT9n4s4adzX8q6oHSJxTppuAwLRKH6eXALbGQ1I9lGQ\nDSOipD/09xkEsPw6HOepmf2U3YxZK1VU2sHqugFJboeLcHMzp6E1n2ctlNG1GKE9\nFDHmdyFzDi0Nnxtf/GgVjnHF68hByEE1MYdJ4nJLuxoT9hyjYdRW9MpeNNxxZnmz\nW3zh7QxIqP0ZfIz6XVhzrI9uZiqwwojDiM5tEOUkQ7XyW6grNXe75yt6mTj89LlB\nH5fOW2RNmCy/jzBXDjgyskgK7kuCvUYTuRv8ITXbBY5axFA+CpxZqokpAgMBAAGj\nggKmMIICojCCAQUGCCsGAQUFBwEBBIH4MIH1MEEGCCsGAQUFBzAChjVsZGFwOi8v\nYWwuc2llbWVucy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/Y0FDZXJ0aWZpY2F0ZTAy\nBggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBMS5j\ncnQwSgYIKwYBBQUHMAKGPmxkYXA6Ly9hbC5zaWVtZW5zLmNvbS91aWQ9WlpaWlpa\nQTEsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRw\nOi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wHwYDVR0jBBgwFoAUcG2g\nUOyp0CxnnRkV/v0EczXD4tQwEgYDVR0TAQH/BAgwBgEB/wIBADBABgNVHSAEOTA3\nMDUGCCsGAQQBoWkHMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuc2llbWVucy5j\nb20vcGtpLzCBxwYDVR0fBIG/MIG8MIG5oIG2oIGzhj9sZGFwOi8vY2wuc2llbWVu\ncy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/YXV0aG9yaXR5UmV2b2NhdGlvbkxpc3SG\nJmh0dHA6Ly9jaC5zaWVtZW5zLmNvbS9wa2k/WlpaWlpaQTEuY3JshkhsZGFwOi8v\nY2wuc2llbWVucy5jb20vdWlkPVpaWlpaWkExLG89VHJ1c3RjZW50ZXI/YXV0aG9y\naXR5UmV2b2NhdGlvbkxpc3QwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwME\nBggrBgEFBQcDCTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPgVXUcMbHd7csQC\nF5Foorb3aglEMA0GCSqGSIb3DQEBCwUAA4ICAQBw+sqMp3SS7DVKcILEmXbdRAg3\nlLO1r457KY+YgCT9uX4VG5EdRKcGfWXK6VHGCi4Dos5eXFV34Mq/p8nu1sqMuoGP\nYjHn604eWDprhGy6GrTYdxzcE/GGHkpkuE3Ir/45UcmZlOU41SJ9SNjuIVrSHMOf\nccSY42BCspR/Q1Z/ykmIqQecdT3/Kkx02GzzSN2+HlW6cEO4GBW5RMqsvd2n0h2d\nfe2zcqOgkLtx7u2JCR/U77zfyxG3qXtcymoz0wgSHcsKIl+GUjITLkHfS9Op8V7C\nGr/dX437sIg5pVHmEAWadjkIzqdHux+EF94Z6kaHywohc1xG0KvPYPX7iSNjkvhz\n4NY53DHmxl4YEMLffZnaS/dqyhe1GTpcpyN8WiR4KuPfxrkVDOsuzWFtMSvNdlOV\ngdI0MXcLMP+EOeANZWX6lGgJ3vWyemo58nzgshKd24MY3w3i6masUkxJH2KvI7UH\n/1Db3SC8oOUjInvSRej6M3ZhYWgugm6gbpUgFoDw/o9Cg6Qm71hY0JtcaPC13rzm\nN8a2Br0+Fa5e2VhwLmAxyfe1JKzqPwuHT0S5u05SQghL5VdzqfA8FCL/j4XC9yI6\ncsZTAQi73xFQYVjZt3+aoSz84lOlTmVo/jgvGMY/JzH9I4mETGgAJRNj34Z/0meh\nM+pKWCojNH/dgyJSwDGCAlIwggJOAgEBMIG/MIG2MQswCQYDVQQGEwJERTEPMA0G\nA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UECgwHU2llbWVu\nczERMA8GA1UEBRMIWlpaWlpaQTYxHTAbBgNVBAsMFFNpZW1lbnMgVHJ1c3QgQ2Vu\ndGVyMT8wPQYDVQQDDDZTaWVtZW5zIElzc3VpbmcgQ0EgTWVkaXVtIFN0cmVuZ3Ro\nIEF1dGhlbnRpY2F0aW9uIDIwMTYCBBXXLOIwCwYJYIZIAWUDBAIBoGkwHAYJKoZI\nhvcNAQkFMQ8XDTE5MTEyMDE0NTYyMFowLwYJKoZIhvcNAQkEMSIEIJDnZUpcVLzC\nOdtpkH8gtxwLPIDE0NmAmFC9uM8q2z+OMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B\nBwEwCwYJKoZIhvcNAQEBBIIBAH/Pqv2xp3a0jSPkwU1K3eGA/1lfoNJMUny4d/PS\nLVWlkgrmedXdLmuBzAGEaaZOJS0lEpNd01pR/reHs7xxZ+RZ0olTs2ufM0CijQSx\nOL9HDl2O3OoD77NWx4tl3Wy1yJCeV3XH/cEI7AkKHCmKY9QMoMYWh16ORBtr+YcS\nYK+gONOjpjgcgTJgZ3HSFgQ50xiD4WT1kFBHsuYsLqaOSbTfTN6Ayyg4edjrPQqa\nVcVf1OQcIrfWA3yMQrnEZfOYfN/D4EPjTfxBV+VCi/F2bdZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"),
- MessageSize: 6494,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte("Roger Meier"),
- Email: []byte("r.meier@siemens.com"),
- Date: &timestamppb.Timestamp{Seconds: 1574261780},
- Timezone: []byte("+0100"),
- },
- SignatureType: gitalypb.SignatureType_X509,
- },
- {
- Name: []byte("v1.2.0"),
- Id: annotatedTagID.String(),
- Message: []byte("Blob tag"),
- MessageSize: 8,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte(gittest.DefaultCommitterName),
- Email: []byte(gittest.DefaultCommitterMail),
- Date: timestamppb.New(gittest.DefaultCommitTime),
- Timezone: []byte("+0100"),
- },
- },
- {
- Name: []byte("v1.3.0"),
- Id: commitID.String(),
- TargetCommit: gitCommit,
- },
- {
- Name: []byte("v1.4.0"),
- Id: blobID.String(),
- },
- {
- Name: []byte("v1.5.0"),
- Id: commitID.String(),
- TargetCommit: gitCommit,
- },
- {
- Name: []byte("v1.6.0"),
- Id: bigCommitID.String(),
- TargetCommit: bigCommit,
- },
- {
- Name: []byte("v1.7.0"),
- Id: bigMessageTag1ID.String(),
- Message: []byte(bigMessage[:helper.MaxCommitOrTagMessageSize]),
- MessageSize: int64(len(bigMessage)),
- TargetCommit: gitCommit,
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte(gittest.DefaultCommitterName),
- Email: []byte(gittest.DefaultCommitterMail),
- Date: timestamppb.New(gittest.DefaultCommitTime),
- Timezone: []byte("+0100"),
- },
- },
- }
-
- for _, expectedTag := range expectedTags {
- rpcRequest := &gitalypb.FindTagRequest{Repository: repoProto, TagName: expectedTag.Name}
-
- resp, err := client.FindTag(ctx, rpcRequest)
- require.NoError(t, err)
-
- testhelper.ProtoEqual(t, expectedTag, resp.GetTag())
- }
-}
-
-func TestFindTagNestedTag(t *testing.T) {
- ctx := testhelper.Context(t)
- cfg, repoProto, repoPath, client := setupRefService(ctx, t)
-
- repo := localrepo.NewTestRepo(t, cfg, repoProto)
-
- blobID := git.ObjectID("faaf198af3a36dbf41961466703cc1d47c61d051")
- commitID := git.ObjectID("6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9")
-
- testCases := []struct {
- description string
- depth int
- originalOid git.ObjectID
- }{
- {
- description: "nested 1 deep, points to a commit",
- depth: 1,
- originalOid: commitID,
- },
- {
- description: "nested 4 deep, points to a commit",
- depth: 4,
- originalOid: commitID,
- },
- {
- description: "nested 3 deep, points to a blob",
- depth: 3,
- originalOid: blobID,
- },
- {
- description: "nested 20 deep, points to a commit",
- depth: 20,
- originalOid: commitID,
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.description, func(t *testing.T) {
- tags, err := repo.GetReferences(ctx, "refs/tags/")
- require.NoError(t, err)
-
- updater, err := updateref.New(ctx, repo)
- require.NoError(t, err)
- for _, tag := range tags {
- require.NoError(t, updater.Delete(tag.Name))
- }
- require.NoError(t, updater.Commit())
-
- catfileCache := catfile.NewCache(cfg)
- defer catfileCache.Stop()
-
- objectReader, cancel, err := catfileCache.ObjectReader(ctx, repo)
- require.NoError(t, err)
- defer cancel()
-
- objectInfoReader, cancel, err := catfileCache.ObjectInfoReader(ctx, repo)
- require.NoError(t, err)
- defer cancel()
-
- info, err := objectInfoReader.Info(ctx, git.Revision(tc.originalOid))
- require.NoError(t, err)
-
- tagID := tc.originalOid
- var tagName, tagMessage string
-
- for depth := 0; depth < tc.depth; depth++ {
- tagName = fmt.Sprintf("tag-depth-%d", depth)
- tagMessage = fmt.Sprintf("a commit %d deep", depth)
- tagID = gittest.WriteTag(t, cfg, repoPath, tagName, tagID.Revision(), gittest.WriteTagConfig{Message: tagMessage})
- }
- expectedTag := &gitalypb.Tag{
- Name: []byte(tagName),
- Id: tagID.String(),
- Message: []byte(tagMessage),
- MessageSize: int64(len([]byte(tagMessage))),
- Tagger: &gitalypb.CommitAuthor{
- Name: []byte(gittest.DefaultCommitterName),
- Email: []byte(gittest.DefaultCommitterMail),
- Date: timestamppb.New(gittest.DefaultCommitTime),
- Timezone: []byte("+0100"),
- },
- }
- if info.Type == "commit" {
- commit, err := catfile.GetCommit(ctx, objectReader, git.Revision(tc.originalOid))
- require.NoError(t, err)
- expectedTag.TargetCommit = commit
- }
- rpcRequest := &gitalypb.FindTagRequest{Repository: repoProto, TagName: []byte(tagName)}
-
- resp, err := client.FindTag(ctx, rpcRequest)
- require.NoError(t, err)
- require.Equal(t, expectedTag, resp.GetTag())
- })
- }
-}
-
-func TestInvalidFindTagRequest(t *testing.T) {
- ctx := testhelper.Context(t)
- _, repo, _, client := setupRefService(ctx, t)
-
- testCases := []struct {
- desc string
- request *gitalypb.FindTagRequest
- }{
- {
- desc: "empty request",
- request: &gitalypb.FindTagRequest{},
- },
- {
- desc: "invalid repo",
- request: &gitalypb.FindTagRequest{
- Repository: &gitalypb.Repository{
- StorageName: "fake",
- RelativePath: "repo",
- },
- },
- },
- {
- desc: "empty tag name",
- request: &gitalypb.FindTagRequest{
- Repository: repo,
- },
- },
- }
-
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- _, err := client.FindTag(ctx, tc.request)
- testhelper.RequireGrpcCode(t, err, codes.InvalidArgument)
- })
- }
-}
diff --git a/proto/errors.proto b/proto/errors.proto
index b4078aae1..4a600adc5 100644
--- a/proto/errors.proto
+++ b/proto/errors.proto
@@ -67,6 +67,12 @@ message ReferenceExistsError {
string oid = 2;
}
+// ReferenceNotFoundError is an error retruned when a reference that ought to exist does not exist.
+message ReferenceNotFoundError {
+ // ReferenceName is the name of the reference that does not exist.
+ bytes reference_name = 1;
+}
+
// ReferenceUpdateError is an error returned when updating a reference has
// failed.
message ReferenceUpdateError {
diff --git a/proto/go/gitalypb/errors.pb.go b/proto/go/gitalypb/errors.pb.go
index 83d60620b..1b2c2d7f8 100644
--- a/proto/go/gitalypb/errors.pb.go
+++ b/proto/go/gitalypb/errors.pb.go
@@ -83,7 +83,7 @@ func (x CustomHookError_HookType) Number() protoreflect.EnumNumber {
// Deprecated: Use CustomHookError_HookType.Descriptor instead.
func (CustomHookError_HookType) EnumDescriptor() ([]byte, []int) {
- return file_errors_proto_rawDescGZIP(), []int{10, 0}
+ return file_errors_proto_rawDescGZIP(), []int{11, 0}
}
// AccessCheckError is an error returned by GitLab's `/internal/allowed`
@@ -474,6 +474,55 @@ func (x *ReferenceExistsError) GetOid() string {
return ""
}
+// ReferenceNotFoundError is an error retruned when a reference that ought to exist does not exist.
+type ReferenceNotFoundError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // ReferenceName is the name of the reference that does not exist.
+ ReferenceName []byte `protobuf:"bytes,1,opt,name=reference_name,json=referenceName,proto3" json:"reference_name,omitempty"`
+}
+
+func (x *ReferenceNotFoundError) Reset() {
+ *x = ReferenceNotFoundError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_errors_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReferenceNotFoundError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReferenceNotFoundError) ProtoMessage() {}
+
+func (x *ReferenceNotFoundError) ProtoReflect() protoreflect.Message {
+ mi := &file_errors_proto_msgTypes[7]
+ 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 ReferenceNotFoundError.ProtoReflect.Descriptor instead.
+func (*ReferenceNotFoundError) Descriptor() ([]byte, []int) {
+ return file_errors_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *ReferenceNotFoundError) GetReferenceName() []byte {
+ if x != nil {
+ return x.ReferenceName
+ }
+ return nil
+}
+
// ReferenceUpdateError is an error returned when updating a reference has
// failed.
type ReferenceUpdateError struct {
@@ -492,7 +541,7 @@ type ReferenceUpdateError struct {
func (x *ReferenceUpdateError) Reset() {
*x = ReferenceUpdateError{}
if protoimpl.UnsafeEnabled {
- mi := &file_errors_proto_msgTypes[7]
+ mi := &file_errors_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -505,7 +554,7 @@ func (x *ReferenceUpdateError) String() string {
func (*ReferenceUpdateError) ProtoMessage() {}
func (x *ReferenceUpdateError) ProtoReflect() protoreflect.Message {
- mi := &file_errors_proto_msgTypes[7]
+ mi := &file_errors_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -518,7 +567,7 @@ func (x *ReferenceUpdateError) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReferenceUpdateError.ProtoReflect.Descriptor instead.
func (*ReferenceUpdateError) Descriptor() ([]byte, []int) {
- return file_errors_proto_rawDescGZIP(), []int{7}
+ return file_errors_proto_rawDescGZIP(), []int{8}
}
func (x *ReferenceUpdateError) GetReferenceName() []byte {
@@ -556,7 +605,7 @@ type ResolveRevisionError struct {
func (x *ResolveRevisionError) Reset() {
*x = ResolveRevisionError{}
if protoimpl.UnsafeEnabled {
- mi := &file_errors_proto_msgTypes[8]
+ mi := &file_errors_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -569,7 +618,7 @@ func (x *ResolveRevisionError) String() string {
func (*ResolveRevisionError) ProtoMessage() {}
func (x *ResolveRevisionError) ProtoReflect() protoreflect.Message {
- mi := &file_errors_proto_msgTypes[8]
+ mi := &file_errors_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -582,7 +631,7 @@ func (x *ResolveRevisionError) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResolveRevisionError.ProtoReflect.Descriptor instead.
func (*ResolveRevisionError) Descriptor() ([]byte, []int) {
- return file_errors_proto_rawDescGZIP(), []int{8}
+ return file_errors_proto_rawDescGZIP(), []int{9}
}
func (x *ResolveRevisionError) GetRevision() []byte {
@@ -608,7 +657,7 @@ type LimitError struct {
func (x *LimitError) Reset() {
*x = LimitError{}
if protoimpl.UnsafeEnabled {
- mi := &file_errors_proto_msgTypes[9]
+ mi := &file_errors_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -621,7 +670,7 @@ func (x *LimitError) String() string {
func (*LimitError) ProtoMessage() {}
func (x *LimitError) ProtoReflect() protoreflect.Message {
- mi := &file_errors_proto_msgTypes[9]
+ mi := &file_errors_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -634,7 +683,7 @@ func (x *LimitError) ProtoReflect() protoreflect.Message {
// Deprecated: Use LimitError.ProtoReflect.Descriptor instead.
func (*LimitError) Descriptor() ([]byte, []int) {
- return file_errors_proto_rawDescGZIP(), []int{9}
+ return file_errors_proto_rawDescGZIP(), []int{10}
}
func (x *LimitError) GetErrorMessage() string {
@@ -669,7 +718,7 @@ type CustomHookError struct {
func (x *CustomHookError) Reset() {
*x = CustomHookError{}
if protoimpl.UnsafeEnabled {
- mi := &file_errors_proto_msgTypes[10]
+ mi := &file_errors_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -682,7 +731,7 @@ func (x *CustomHookError) String() string {
func (*CustomHookError) ProtoMessage() {}
func (x *CustomHookError) ProtoReflect() protoreflect.Message {
- mi := &file_errors_proto_msgTypes[10]
+ mi := &file_errors_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -695,7 +744,7 @@ func (x *CustomHookError) ProtoReflect() protoreflect.Message {
// Deprecated: Use CustomHookError.ProtoReflect.Descriptor instead.
func (*CustomHookError) Descriptor() ([]byte, []int) {
- return file_errors_proto_rawDescGZIP(), []int{10}
+ return file_errors_proto_rawDescGZIP(), []int{11}
}
func (x *CustomHookError) GetStdout() []byte {
@@ -759,43 +808,47 @@ var file_errors_proto_rawDesc = []byte{
0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69,
- 0x64, 0x22, 0x6f, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x66,
- 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
- 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x4f, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77,
- 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x4f,
- 0x69, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76,
- 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
- 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65,
- 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45,
- 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x74,
- 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79,
- 0x41, 0x66, 0x74, 0x65, 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
- 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64,
- 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x6f, 0x75,
- 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x12, 0x3d, 0x0a, 0x09, 0x68, 0x6f, 0x6f,
- 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b,
- 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08,
- 0x68, 0x6f, 0x6f, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x70, 0x0a, 0x08, 0x48, 0x6f, 0x6f, 0x6b,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
- 0x18, 0x0a, 0x14, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45,
- 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x4f, 0x4f,
- 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12,
- 0x19, 0x0a, 0x15, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x53,
- 0x54, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x03, 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, 0x35, 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,
+ 0x64, 0x22, 0x3f, 0x0a, 0x16, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x6f,
+ 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72,
+ 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x14, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65,
+ 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x4f, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65,
+ 0x77, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77,
+ 0x4f, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65,
+ 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72,
+ 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72,
+ 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65,
+ 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72,
+ 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
+ 0x64, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x6f,
+ 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x12, 0x3d, 0x0a, 0x09, 0x68, 0x6f,
+ 0x6f, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f,
+ 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x08, 0x68, 0x6f, 0x6f, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x70, 0x0a, 0x08, 0x48, 0x6f, 0x6f,
+ 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
+ 0x12, 0x18, 0x0a, 0x14, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52,
+ 0x45, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x4f,
+ 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02,
+ 0x12, 0x19, 0x0a, 0x15, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f,
+ 0x53, 0x54, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x03, 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, 0x35, 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 (
@@ -811,7 +864,7 @@ func file_errors_proto_rawDescGZIP() []byte {
}
var file_errors_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_errors_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
+var file_errors_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_errors_proto_goTypes = []interface{}{
(CustomHookError_HookType)(0), // 0: gitaly.CustomHookError.HookType
(*AccessCheckError)(nil), // 1: gitaly.AccessCheckError
@@ -821,14 +874,15 @@ var file_errors_proto_goTypes = []interface{}{
(*MergeConflictError)(nil), // 5: gitaly.MergeConflictError
(*ReferencesLockedError)(nil), // 6: gitaly.ReferencesLockedError
(*ReferenceExistsError)(nil), // 7: gitaly.ReferenceExistsError
- (*ReferenceUpdateError)(nil), // 8: gitaly.ReferenceUpdateError
- (*ResolveRevisionError)(nil), // 9: gitaly.ResolveRevisionError
- (*LimitError)(nil), // 10: gitaly.LimitError
- (*CustomHookError)(nil), // 11: gitaly.CustomHookError
- (*durationpb.Duration)(nil), // 12: google.protobuf.Duration
+ (*ReferenceNotFoundError)(nil), // 8: gitaly.ReferenceNotFoundError
+ (*ReferenceUpdateError)(nil), // 9: gitaly.ReferenceUpdateError
+ (*ResolveRevisionError)(nil), // 10: gitaly.ResolveRevisionError
+ (*LimitError)(nil), // 11: gitaly.LimitError
+ (*CustomHookError)(nil), // 12: gitaly.CustomHookError
+ (*durationpb.Duration)(nil), // 13: google.protobuf.Duration
}
var file_errors_proto_depIdxs = []int32{
- 12, // 0: gitaly.LimitError.retry_after:type_name -> google.protobuf.Duration
+ 13, // 0: gitaly.LimitError.retry_after:type_name -> google.protobuf.Duration
0, // 1: gitaly.CustomHookError.hook_type:type_name -> gitaly.CustomHookError.HookType
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
@@ -928,7 +982,7 @@ func file_errors_proto_init() {
}
}
file_errors_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReferenceUpdateError); i {
+ switch v := v.(*ReferenceNotFoundError); i {
case 0:
return &v.state
case 1:
@@ -940,7 +994,7 @@ func file_errors_proto_init() {
}
}
file_errors_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ResolveRevisionError); i {
+ switch v := v.(*ReferenceUpdateError); i {
case 0:
return &v.state
case 1:
@@ -952,7 +1006,7 @@ func file_errors_proto_init() {
}
}
file_errors_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LimitError); i {
+ switch v := v.(*ResolveRevisionError); i {
case 0:
return &v.state
case 1:
@@ -964,6 +1018,18 @@ func file_errors_proto_init() {
}
}
file_errors_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LimitError); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_errors_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CustomHookError); i {
case 0:
return &v.state
@@ -982,7 +1048,7 @@ func file_errors_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_errors_proto_rawDesc,
NumEnums: 1,
- NumMessages: 11,
+ NumMessages: 12,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/proto/go/gitalypb/ref.pb.go b/proto/go/gitalypb/ref.pb.go
index e1af47561..e166c81d6 100644
--- a/proto/go/gitalypb/ref.pb.go
+++ b/proto/go/gitalypb/ref.pb.go
@@ -120,7 +120,7 @@ func (x FindAllTagsRequest_SortBy_Key) Number() protoreflect.EnumNumber {
// Deprecated: Use FindAllTagsRequest_SortBy_Key.Descriptor instead.
func (FindAllTagsRequest_SortBy_Key) EnumDescriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{14, 0, 0}
+ return file_ref_proto_rawDescGZIP(), []int{15, 0, 0}
}
// This comment is left unintentionally blank.
@@ -177,7 +177,7 @@ func (x CreateBranchResponse_Status) Number() protoreflect.EnumNumber {
// Deprecated: Use CreateBranchResponse_Status.Descriptor instead.
func (CreateBranchResponse_Status) EnumDescriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{19, 0}
+ return file_ref_proto_rawDescGZIP(), []int{20, 0}
}
// This comment is left unintentionally blank.
@@ -234,7 +234,7 @@ func (x ListRefsRequest_SortBy_Key) Number() protoreflect.EnumNumber {
// Deprecated: Use ListRefsRequest_SortBy_Key.Descriptor instead.
func (ListRefsRequest_SortBy_Key) EnumDescriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{39, 0, 0}
+ return file_ref_proto_rawDescGZIP(), []int{40, 0, 0}
}
// This comment is left unintentionally blank.
@@ -937,15 +937,17 @@ func (x *FindAllBranchesResponse) GetBranches() []*FindAllBranchesResponse_Branc
return nil
}
-// This comment is left unintentionally blank.
+// FindTagRequest is a request for the FindTag RPC.
type FindTagRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This comment is left unintentionally blank.
+ // Repository is the repository to look up the tag in.
Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
- // This comment is left unintentionally blank.
+ // TagName is the name of the tag that should be looked up. The caller is supposed to pass in the
+ // tag name only, so if e.g. a tag `refs/tags/v1.0.0` exists, then the caller should pass `v1.0.0`
+ // as argument.
TagName []byte `protobuf:"bytes,2,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
}
@@ -995,13 +997,13 @@ func (x *FindTagRequest) GetTagName() []byte {
return nil
}
-// This comment is left unintentionally blank.
+// FindTagResponse is a response for the FindTag RPC.
type FindTagResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This comment is left unintentionally blank.
+ // Tag is the tag that was found.
Tag *Tag `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
}
@@ -1044,6 +1046,56 @@ func (x *FindTagResponse) GetTag() *Tag {
return nil
}
+// FindTagError is an error that will be returned by the FindTag RPC under specific error
+// conditions.
+type FindTagError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // TagNotFound indicates that the tag was not found.
+ TagNotFound *ReferenceNotFoundError `protobuf:"bytes,1,opt,name=tag_not_found,json=tagNotFound,proto3" json:"tag_not_found,omitempty"`
+}
+
+func (x *FindTagError) Reset() {
+ *x = FindTagError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ref_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FindTagError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindTagError) ProtoMessage() {}
+
+func (x *FindTagError) ProtoReflect() protoreflect.Message {
+ mi := &file_ref_proto_msgTypes[14]
+ 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 FindTagError.ProtoReflect.Descriptor instead.
+func (*FindTagError) Descriptor() ([]byte, []int) {
+ return file_ref_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *FindTagError) GetTagNotFound() *ReferenceNotFoundError {
+ if x != nil {
+ return x.TagNotFound
+ }
+ return nil
+}
+
// This comment is left unintentionally blank.
type FindAllTagsRequest struct {
state protoimpl.MessageState
@@ -1063,7 +1115,7 @@ type FindAllTagsRequest struct {
func (x *FindAllTagsRequest) Reset() {
*x = FindAllTagsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[14]
+ mi := &file_ref_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1076,7 +1128,7 @@ func (x *FindAllTagsRequest) String() string {
func (*FindAllTagsRequest) ProtoMessage() {}
func (x *FindAllTagsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[14]
+ mi := &file_ref_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1089,7 +1141,7 @@ func (x *FindAllTagsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindAllTagsRequest.ProtoReflect.Descriptor instead.
func (*FindAllTagsRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{14}
+ return file_ref_proto_rawDescGZIP(), []int{15}
}
func (x *FindAllTagsRequest) GetRepository() *Repository {
@@ -1126,7 +1178,7 @@ type FindAllTagsResponse struct {
func (x *FindAllTagsResponse) Reset() {
*x = FindAllTagsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[15]
+ mi := &file_ref_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1139,7 +1191,7 @@ func (x *FindAllTagsResponse) String() string {
func (*FindAllTagsResponse) ProtoMessage() {}
func (x *FindAllTagsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[15]
+ mi := &file_ref_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1152,7 +1204,7 @@ func (x *FindAllTagsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindAllTagsResponse.ProtoReflect.Descriptor instead.
func (*FindAllTagsResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{15}
+ return file_ref_proto_rawDescGZIP(), []int{16}
}
func (x *FindAllTagsResponse) GetTags() []*Tag {
@@ -1177,7 +1229,7 @@ type RefExistsRequest struct {
func (x *RefExistsRequest) Reset() {
*x = RefExistsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[16]
+ mi := &file_ref_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1190,7 +1242,7 @@ func (x *RefExistsRequest) String() string {
func (*RefExistsRequest) ProtoMessage() {}
func (x *RefExistsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[16]
+ mi := &file_ref_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1203,7 +1255,7 @@ func (x *RefExistsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefExistsRequest.ProtoReflect.Descriptor instead.
func (*RefExistsRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{16}
+ return file_ref_proto_rawDescGZIP(), []int{17}
}
func (x *RefExistsRequest) GetRepository() *Repository {
@@ -1233,7 +1285,7 @@ type RefExistsResponse struct {
func (x *RefExistsResponse) Reset() {
*x = RefExistsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[17]
+ mi := &file_ref_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1246,7 +1298,7 @@ func (x *RefExistsResponse) String() string {
func (*RefExistsResponse) ProtoMessage() {}
func (x *RefExistsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[17]
+ mi := &file_ref_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1259,7 +1311,7 @@ func (x *RefExistsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RefExistsResponse.ProtoReflect.Descriptor instead.
func (*RefExistsResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{17}
+ return file_ref_proto_rawDescGZIP(), []int{18}
}
func (x *RefExistsResponse) GetValue() bool {
@@ -1286,7 +1338,7 @@ type CreateBranchRequest struct {
func (x *CreateBranchRequest) Reset() {
*x = CreateBranchRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[18]
+ mi := &file_ref_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1299,7 +1351,7 @@ func (x *CreateBranchRequest) String() string {
func (*CreateBranchRequest) ProtoMessage() {}
func (x *CreateBranchRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[18]
+ mi := &file_ref_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1312,7 +1364,7 @@ func (x *CreateBranchRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateBranchRequest.ProtoReflect.Descriptor instead.
func (*CreateBranchRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{18}
+ return file_ref_proto_rawDescGZIP(), []int{19}
}
func (x *CreateBranchRequest) GetRepository() *Repository {
@@ -1351,7 +1403,7 @@ type CreateBranchResponse struct {
func (x *CreateBranchResponse) Reset() {
*x = CreateBranchResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[19]
+ mi := &file_ref_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1364,7 +1416,7 @@ func (x *CreateBranchResponse) String() string {
func (*CreateBranchResponse) ProtoMessage() {}
func (x *CreateBranchResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[19]
+ mi := &file_ref_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1377,7 +1429,7 @@ func (x *CreateBranchResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateBranchResponse.ProtoReflect.Descriptor instead.
func (*CreateBranchResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{19}
+ return file_ref_proto_rawDescGZIP(), []int{20}
}
func (x *CreateBranchResponse) GetStatus() CreateBranchResponse_Status {
@@ -1409,7 +1461,7 @@ type DeleteBranchRequest struct {
func (x *DeleteBranchRequest) Reset() {
*x = DeleteBranchRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[20]
+ mi := &file_ref_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1422,7 +1474,7 @@ func (x *DeleteBranchRequest) String() string {
func (*DeleteBranchRequest) ProtoMessage() {}
func (x *DeleteBranchRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[20]
+ mi := &file_ref_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1435,7 +1487,7 @@ func (x *DeleteBranchRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteBranchRequest.ProtoReflect.Descriptor instead.
func (*DeleteBranchRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{20}
+ return file_ref_proto_rawDescGZIP(), []int{21}
}
func (x *DeleteBranchRequest) GetRepository() *Repository {
@@ -1462,7 +1514,7 @@ type DeleteBranchResponse struct {
func (x *DeleteBranchResponse) Reset() {
*x = DeleteBranchResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[21]
+ mi := &file_ref_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1475,7 +1527,7 @@ func (x *DeleteBranchResponse) String() string {
func (*DeleteBranchResponse) ProtoMessage() {}
func (x *DeleteBranchResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[21]
+ mi := &file_ref_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1488,7 +1540,7 @@ func (x *DeleteBranchResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteBranchResponse.ProtoReflect.Descriptor instead.
func (*DeleteBranchResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{21}
+ return file_ref_proto_rawDescGZIP(), []int{22}
}
// This comment is left unintentionally blank.
@@ -1507,7 +1559,7 @@ type FindBranchRequest struct {
func (x *FindBranchRequest) Reset() {
*x = FindBranchRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[22]
+ mi := &file_ref_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1520,7 +1572,7 @@ func (x *FindBranchRequest) String() string {
func (*FindBranchRequest) ProtoMessage() {}
func (x *FindBranchRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[22]
+ mi := &file_ref_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1533,7 +1585,7 @@ func (x *FindBranchRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindBranchRequest.ProtoReflect.Descriptor instead.
func (*FindBranchRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{22}
+ return file_ref_proto_rawDescGZIP(), []int{23}
}
func (x *FindBranchRequest) GetRepository() *Repository {
@@ -1563,7 +1615,7 @@ type FindBranchResponse struct {
func (x *FindBranchResponse) Reset() {
*x = FindBranchResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[23]
+ mi := &file_ref_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1576,7 +1628,7 @@ func (x *FindBranchResponse) String() string {
func (*FindBranchResponse) ProtoMessage() {}
func (x *FindBranchResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[23]
+ mi := &file_ref_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1589,7 +1641,7 @@ func (x *FindBranchResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindBranchResponse.ProtoReflect.Descriptor instead.
func (*FindBranchResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{23}
+ return file_ref_proto_rawDescGZIP(), []int{24}
}
func (x *FindBranchResponse) GetBranch() *Branch {
@@ -1616,7 +1668,7 @@ type DeleteRefsRequest struct {
func (x *DeleteRefsRequest) Reset() {
*x = DeleteRefsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[24]
+ mi := &file_ref_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1629,7 +1681,7 @@ func (x *DeleteRefsRequest) String() string {
func (*DeleteRefsRequest) ProtoMessage() {}
func (x *DeleteRefsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[24]
+ mi := &file_ref_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1642,7 +1694,7 @@ func (x *DeleteRefsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteRefsRequest.ProtoReflect.Descriptor instead.
func (*DeleteRefsRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{24}
+ return file_ref_proto_rawDescGZIP(), []int{25}
}
func (x *DeleteRefsRequest) GetRepository() *Repository {
@@ -1679,7 +1731,7 @@ type DeleteRefsResponse struct {
func (x *DeleteRefsResponse) Reset() {
*x = DeleteRefsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[25]
+ mi := &file_ref_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1692,7 +1744,7 @@ func (x *DeleteRefsResponse) String() string {
func (*DeleteRefsResponse) ProtoMessage() {}
func (x *DeleteRefsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[25]
+ mi := &file_ref_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1705,7 +1757,7 @@ func (x *DeleteRefsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteRefsResponse.ProtoReflect.Descriptor instead.
func (*DeleteRefsResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{25}
+ return file_ref_proto_rawDescGZIP(), []int{26}
}
func (x *DeleteRefsResponse) GetGitError() string {
@@ -1730,7 +1782,7 @@ type DeleteRefsError struct {
func (x *DeleteRefsError) Reset() {
*x = DeleteRefsError{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[26]
+ mi := &file_ref_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1743,7 +1795,7 @@ func (x *DeleteRefsError) String() string {
func (*DeleteRefsError) ProtoMessage() {}
func (x *DeleteRefsError) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[26]
+ mi := &file_ref_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1756,7 +1808,7 @@ func (x *DeleteRefsError) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteRefsError.ProtoReflect.Descriptor instead.
func (*DeleteRefsError) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{26}
+ return file_ref_proto_rawDescGZIP(), []int{27}
}
func (m *DeleteRefsError) GetError() isDeleteRefsError_Error {
@@ -1818,7 +1870,7 @@ type ListBranchNamesContainingCommitRequest struct {
func (x *ListBranchNamesContainingCommitRequest) Reset() {
*x = ListBranchNamesContainingCommitRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[27]
+ mi := &file_ref_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1831,7 +1883,7 @@ func (x *ListBranchNamesContainingCommitRequest) String() string {
func (*ListBranchNamesContainingCommitRequest) ProtoMessage() {}
func (x *ListBranchNamesContainingCommitRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[27]
+ mi := &file_ref_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1844,7 +1896,7 @@ func (x *ListBranchNamesContainingCommitRequest) ProtoReflect() protoreflect.Mes
// Deprecated: Use ListBranchNamesContainingCommitRequest.ProtoReflect.Descriptor instead.
func (*ListBranchNamesContainingCommitRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{27}
+ return file_ref_proto_rawDescGZIP(), []int{28}
}
func (x *ListBranchNamesContainingCommitRequest) GetRepository() *Repository {
@@ -1881,7 +1933,7 @@ type ListBranchNamesContainingCommitResponse struct {
func (x *ListBranchNamesContainingCommitResponse) Reset() {
*x = ListBranchNamesContainingCommitResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[28]
+ mi := &file_ref_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1894,7 +1946,7 @@ func (x *ListBranchNamesContainingCommitResponse) String() string {
func (*ListBranchNamesContainingCommitResponse) ProtoMessage() {}
func (x *ListBranchNamesContainingCommitResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[28]
+ mi := &file_ref_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1907,7 +1959,7 @@ func (x *ListBranchNamesContainingCommitResponse) ProtoReflect() protoreflect.Me
// Deprecated: Use ListBranchNamesContainingCommitResponse.ProtoReflect.Descriptor instead.
func (*ListBranchNamesContainingCommitResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{28}
+ return file_ref_proto_rawDescGZIP(), []int{29}
}
func (x *ListBranchNamesContainingCommitResponse) GetBranchNames() [][]byte {
@@ -1935,7 +1987,7 @@ type ListTagNamesContainingCommitRequest struct {
func (x *ListTagNamesContainingCommitRequest) Reset() {
*x = ListTagNamesContainingCommitRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[29]
+ mi := &file_ref_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1948,7 +2000,7 @@ func (x *ListTagNamesContainingCommitRequest) String() string {
func (*ListTagNamesContainingCommitRequest) ProtoMessage() {}
func (x *ListTagNamesContainingCommitRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[29]
+ mi := &file_ref_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1961,7 +2013,7 @@ func (x *ListTagNamesContainingCommitRequest) ProtoReflect() protoreflect.Messag
// Deprecated: Use ListTagNamesContainingCommitRequest.ProtoReflect.Descriptor instead.
func (*ListTagNamesContainingCommitRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{29}
+ return file_ref_proto_rawDescGZIP(), []int{30}
}
func (x *ListTagNamesContainingCommitRequest) GetRepository() *Repository {
@@ -1998,7 +2050,7 @@ type ListTagNamesContainingCommitResponse struct {
func (x *ListTagNamesContainingCommitResponse) Reset() {
*x = ListTagNamesContainingCommitResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[30]
+ mi := &file_ref_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2011,7 +2063,7 @@ func (x *ListTagNamesContainingCommitResponse) String() string {
func (*ListTagNamesContainingCommitResponse) ProtoMessage() {}
func (x *ListTagNamesContainingCommitResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[30]
+ mi := &file_ref_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2024,7 +2076,7 @@ func (x *ListTagNamesContainingCommitResponse) ProtoReflect() protoreflect.Messa
// Deprecated: Use ListTagNamesContainingCommitResponse.ProtoReflect.Descriptor instead.
func (*ListTagNamesContainingCommitResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{30}
+ return file_ref_proto_rawDescGZIP(), []int{31}
}
func (x *ListTagNamesContainingCommitResponse) GetTagNames() [][]byte {
@@ -2051,7 +2103,7 @@ type GetTagSignaturesRequest struct {
func (x *GetTagSignaturesRequest) Reset() {
*x = GetTagSignaturesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[31]
+ mi := &file_ref_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2064,7 +2116,7 @@ func (x *GetTagSignaturesRequest) String() string {
func (*GetTagSignaturesRequest) ProtoMessage() {}
func (x *GetTagSignaturesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[31]
+ mi := &file_ref_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2077,7 +2129,7 @@ func (x *GetTagSignaturesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetTagSignaturesRequest.ProtoReflect.Descriptor instead.
func (*GetTagSignaturesRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{31}
+ return file_ref_proto_rawDescGZIP(), []int{32}
}
func (x *GetTagSignaturesRequest) GetRepository() *Repository {
@@ -2109,7 +2161,7 @@ type GetTagSignaturesResponse struct {
func (x *GetTagSignaturesResponse) Reset() {
*x = GetTagSignaturesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[32]
+ mi := &file_ref_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2122,7 +2174,7 @@ func (x *GetTagSignaturesResponse) String() string {
func (*GetTagSignaturesResponse) ProtoMessage() {}
func (x *GetTagSignaturesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[32]
+ mi := &file_ref_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2135,7 +2187,7 @@ func (x *GetTagSignaturesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetTagSignaturesResponse.ProtoReflect.Descriptor instead.
func (*GetTagSignaturesResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{32}
+ return file_ref_proto_rawDescGZIP(), []int{33}
}
func (x *GetTagSignaturesResponse) GetSignatures() []*GetTagSignaturesResponse_TagSignature {
@@ -2160,7 +2212,7 @@ type GetTagMessagesRequest struct {
func (x *GetTagMessagesRequest) Reset() {
*x = GetTagMessagesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[33]
+ mi := &file_ref_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2173,7 +2225,7 @@ func (x *GetTagMessagesRequest) String() string {
func (*GetTagMessagesRequest) ProtoMessage() {}
func (x *GetTagMessagesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[33]
+ mi := &file_ref_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2186,7 +2238,7 @@ func (x *GetTagMessagesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetTagMessagesRequest.ProtoReflect.Descriptor instead.
func (*GetTagMessagesRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{33}
+ return file_ref_proto_rawDescGZIP(), []int{34}
}
func (x *GetTagMessagesRequest) GetRepository() *Repository {
@@ -2218,7 +2270,7 @@ type GetTagMessagesResponse struct {
func (x *GetTagMessagesResponse) Reset() {
*x = GetTagMessagesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[34]
+ mi := &file_ref_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2231,7 +2283,7 @@ func (x *GetTagMessagesResponse) String() string {
func (*GetTagMessagesResponse) ProtoMessage() {}
func (x *GetTagMessagesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[34]
+ mi := &file_ref_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2244,7 +2296,7 @@ func (x *GetTagMessagesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetTagMessagesResponse.ProtoReflect.Descriptor instead.
func (*GetTagMessagesResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{34}
+ return file_ref_proto_rawDescGZIP(), []int{35}
}
func (x *GetTagMessagesResponse) GetMessage() []byte {
@@ -2276,7 +2328,7 @@ type FindAllRemoteBranchesRequest struct {
func (x *FindAllRemoteBranchesRequest) Reset() {
*x = FindAllRemoteBranchesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[35]
+ mi := &file_ref_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2289,7 +2341,7 @@ func (x *FindAllRemoteBranchesRequest) String() string {
func (*FindAllRemoteBranchesRequest) ProtoMessage() {}
func (x *FindAllRemoteBranchesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[35]
+ mi := &file_ref_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2302,7 +2354,7 @@ func (x *FindAllRemoteBranchesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindAllRemoteBranchesRequest.ProtoReflect.Descriptor instead.
func (*FindAllRemoteBranchesRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{35}
+ return file_ref_proto_rawDescGZIP(), []int{36}
}
func (x *FindAllRemoteBranchesRequest) GetRepository() *Repository {
@@ -2332,7 +2384,7 @@ type FindAllRemoteBranchesResponse struct {
func (x *FindAllRemoteBranchesResponse) Reset() {
*x = FindAllRemoteBranchesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[36]
+ mi := &file_ref_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2345,7 +2397,7 @@ func (x *FindAllRemoteBranchesResponse) String() string {
func (*FindAllRemoteBranchesResponse) ProtoMessage() {}
func (x *FindAllRemoteBranchesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[36]
+ mi := &file_ref_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2358,7 +2410,7 @@ func (x *FindAllRemoteBranchesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindAllRemoteBranchesResponse.ProtoReflect.Descriptor instead.
func (*FindAllRemoteBranchesResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{36}
+ return file_ref_proto_rawDescGZIP(), []int{37}
}
func (x *FindAllRemoteBranchesResponse) GetBranches() []*Branch {
@@ -2381,7 +2433,7 @@ type PackRefsRequest struct {
func (x *PackRefsRequest) Reset() {
*x = PackRefsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[37]
+ mi := &file_ref_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2394,7 +2446,7 @@ func (x *PackRefsRequest) String() string {
func (*PackRefsRequest) ProtoMessage() {}
func (x *PackRefsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[37]
+ mi := &file_ref_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2407,7 +2459,7 @@ func (x *PackRefsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PackRefsRequest.ProtoReflect.Descriptor instead.
func (*PackRefsRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{37}
+ return file_ref_proto_rawDescGZIP(), []int{38}
}
func (x *PackRefsRequest) GetRepository() *Repository {
@@ -2427,7 +2479,7 @@ type PackRefsResponse struct {
func (x *PackRefsResponse) Reset() {
*x = PackRefsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[38]
+ mi := &file_ref_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2440,7 +2492,7 @@ func (x *PackRefsResponse) String() string {
func (*PackRefsResponse) ProtoMessage() {}
func (x *PackRefsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[38]
+ mi := &file_ref_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2453,7 +2505,7 @@ func (x *PackRefsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PackRefsResponse.ProtoReflect.Descriptor instead.
func (*PackRefsResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{38}
+ return file_ref_proto_rawDescGZIP(), []int{39}
}
// ListRefsRequest is a request for the ListRefs RPC.
@@ -2478,7 +2530,7 @@ type ListRefsRequest struct {
func (x *ListRefsRequest) Reset() {
*x = ListRefsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[39]
+ mi := &file_ref_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2491,7 +2543,7 @@ func (x *ListRefsRequest) String() string {
func (*ListRefsRequest) ProtoMessage() {}
func (x *ListRefsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[39]
+ mi := &file_ref_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2504,7 +2556,7 @@ func (x *ListRefsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRefsRequest.ProtoReflect.Descriptor instead.
func (*ListRefsRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{39}
+ return file_ref_proto_rawDescGZIP(), []int{40}
}
func (x *ListRefsRequest) GetRepository() *Repository {
@@ -2549,7 +2601,7 @@ type ListRefsResponse struct {
func (x *ListRefsResponse) Reset() {
*x = ListRefsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[40]
+ mi := &file_ref_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2562,7 +2614,7 @@ func (x *ListRefsResponse) String() string {
func (*ListRefsResponse) ProtoMessage() {}
func (x *ListRefsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[40]
+ mi := &file_ref_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2575,7 +2627,7 @@ func (x *ListRefsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRefsResponse.ProtoReflect.Descriptor instead.
func (*ListRefsResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{40}
+ return file_ref_proto_rawDescGZIP(), []int{41}
}
func (x *ListRefsResponse) GetReferences() []*ListRefsResponse_Reference {
@@ -2609,7 +2661,7 @@ type FindRefsByOIDRequest struct {
func (x *FindRefsByOIDRequest) Reset() {
*x = FindRefsByOIDRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[41]
+ mi := &file_ref_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2622,7 +2674,7 @@ func (x *FindRefsByOIDRequest) String() string {
func (*FindRefsByOIDRequest) ProtoMessage() {}
func (x *FindRefsByOIDRequest) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[41]
+ mi := &file_ref_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2635,7 +2687,7 @@ func (x *FindRefsByOIDRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindRefsByOIDRequest.ProtoReflect.Descriptor instead.
func (*FindRefsByOIDRequest) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{41}
+ return file_ref_proto_rawDescGZIP(), []int{42}
}
func (x *FindRefsByOIDRequest) GetRepository() *Repository {
@@ -2686,7 +2738,7 @@ type FindRefsByOIDResponse struct {
func (x *FindRefsByOIDResponse) Reset() {
*x = FindRefsByOIDResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[42]
+ mi := &file_ref_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2699,7 +2751,7 @@ func (x *FindRefsByOIDResponse) String() string {
func (*FindRefsByOIDResponse) ProtoMessage() {}
func (x *FindRefsByOIDResponse) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[42]
+ mi := &file_ref_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2712,7 +2764,7 @@ func (x *FindRefsByOIDResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindRefsByOIDResponse.ProtoReflect.Descriptor instead.
func (*FindRefsByOIDResponse) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{42}
+ return file_ref_proto_rawDescGZIP(), []int{43}
}
func (x *FindRefsByOIDResponse) GetRefs() []string {
@@ -2737,7 +2789,7 @@ type FindAllBranchesResponse_Branch struct {
func (x *FindAllBranchesResponse_Branch) Reset() {
*x = FindAllBranchesResponse_Branch{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[43]
+ mi := &file_ref_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2750,7 +2802,7 @@ func (x *FindAllBranchesResponse_Branch) String() string {
func (*FindAllBranchesResponse_Branch) ProtoMessage() {}
func (x *FindAllBranchesResponse_Branch) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[43]
+ mi := &file_ref_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2795,7 +2847,7 @@ type FindAllTagsRequest_SortBy struct {
func (x *FindAllTagsRequest_SortBy) Reset() {
*x = FindAllTagsRequest_SortBy{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[44]
+ mi := &file_ref_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2808,7 +2860,7 @@ func (x *FindAllTagsRequest_SortBy) String() string {
func (*FindAllTagsRequest_SortBy) ProtoMessage() {}
func (x *FindAllTagsRequest_SortBy) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[44]
+ mi := &file_ref_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2821,7 +2873,7 @@ func (x *FindAllTagsRequest_SortBy) ProtoReflect() protoreflect.Message {
// Deprecated: Use FindAllTagsRequest_SortBy.ProtoReflect.Descriptor instead.
func (*FindAllTagsRequest_SortBy) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{14, 0}
+ return file_ref_proto_rawDescGZIP(), []int{15, 0}
}
func (x *FindAllTagsRequest_SortBy) GetKey() FindAllTagsRequest_SortBy_Key {
@@ -2858,7 +2910,7 @@ type GetTagSignaturesResponse_TagSignature struct {
func (x *GetTagSignaturesResponse_TagSignature) Reset() {
*x = GetTagSignaturesResponse_TagSignature{}
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)
}
@@ -2871,7 +2923,7 @@ func (x *GetTagSignaturesResponse_TagSignature) String() string {
func (*GetTagSignaturesResponse_TagSignature) ProtoMessage() {}
func (x *GetTagSignaturesResponse_TagSignature) 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 {
@@ -2884,7 +2936,7 @@ func (x *GetTagSignaturesResponse_TagSignature) ProtoReflect() protoreflect.Mess
// Deprecated: Use GetTagSignaturesResponse_TagSignature.ProtoReflect.Descriptor instead.
func (*GetTagSignaturesResponse_TagSignature) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{32, 0}
+ return file_ref_proto_rawDescGZIP(), []int{33, 0}
}
func (x *GetTagSignaturesResponse_TagSignature) GetTagId() string {
@@ -2923,7 +2975,7 @@ type ListRefsRequest_SortBy struct {
func (x *ListRefsRequest_SortBy) Reset() {
*x = ListRefsRequest_SortBy{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[46]
+ mi := &file_ref_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2936,7 +2988,7 @@ func (x *ListRefsRequest_SortBy) String() string {
func (*ListRefsRequest_SortBy) ProtoMessage() {}
func (x *ListRefsRequest_SortBy) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[46]
+ mi := &file_ref_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2949,7 +3001,7 @@ func (x *ListRefsRequest_SortBy) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRefsRequest_SortBy.ProtoReflect.Descriptor instead.
func (*ListRefsRequest_SortBy) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{39, 0}
+ return file_ref_proto_rawDescGZIP(), []int{40, 0}
}
func (x *ListRefsRequest_SortBy) GetKey() ListRefsRequest_SortBy_Key {
@@ -2981,7 +3033,7 @@ type ListRefsResponse_Reference struct {
func (x *ListRefsResponse_Reference) Reset() {
*x = ListRefsResponse_Reference{}
if protoimpl.UnsafeEnabled {
- mi := &file_ref_proto_msgTypes[47]
+ mi := &file_ref_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2994,7 +3046,7 @@ func (x *ListRefsResponse_Reference) String() string {
func (*ListRefsResponse_Reference) ProtoMessage() {}
func (x *ListRefsResponse_Reference) ProtoReflect() protoreflect.Message {
- mi := &file_ref_proto_msgTypes[47]
+ mi := &file_ref_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3007,7 +3059,7 @@ func (x *ListRefsResponse_Reference) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRefsResponse_Reference.ProtoReflect.Descriptor instead.
func (*ListRefsResponse_Reference) Descriptor() ([]byte, []int) {
- return file_ref_proto_rawDescGZIP(), []int{40, 0}
+ return file_ref_proto_rawDescGZIP(), []int{41, 0}
}
func (x *ListRefsResponse_Reference) GetName() []byte {
@@ -3141,344 +3193,349 @@ var file_ref_proto_rawDesc = []byte{
0x0f, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x1d, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22,
- 0xf2, 0x02, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 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, 0x3a, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x21, 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, 0x2e, 0x53, 0x6f,
- 0x72, 0x74, 0x42, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x48, 0x0a, 0x11,
- 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x65, 0x74, 0x65, 0x72, 0x52, 0x10, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x9b, 0x01, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42,
- 0x79, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25,
- 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, 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,
- 0x23, 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, 0x22, 0x36, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54,
- 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x74,
- 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x5e, 0x0a, 0x10,
- 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 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, 0x10, 0x0a, 0x03, 0x72, 0x65,
- 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66, 0x22, 0x29, 0x0a, 0x11,
- 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a,
- 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xcb,
- 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x72,
- 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x4e, 0x0a, 0x06,
- 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0e,
- 0x0a, 0x0a, 0x45, 0x52, 0x52, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0f,
- 0x0a, 0x0b, 0x45, 0x52, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x02, 0x12,
- 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53,
- 0x54, 0x41, 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03, 0x22, 0x63, 0x0a, 0x13,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
+ 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
+ 0x42, 0x0a, 0x0d, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e,
+ 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0b, 0x74, 0x61, 0x67, 0x4e, 0x6f, 0x74, 0x46, 0x6f,
+ 0x75, 0x6e, 0x64, 0x22, 0xf2, 0x02, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x54,
+ 0x61, 0x67, 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, 0x3a, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 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, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79,
+ 0x12, 0x48, 0x0a, 0x11, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x10, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x9b, 0x01, 0x0a, 0x06, 0x53,
+ 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x25, 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, 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, 0x23, 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, 0x22, 0x36, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64,
+ 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x1f, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
+ 0x22, 0x5e, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 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, 0x10,
+ 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x72, 0x65, 0x66,
+ 0x22, 0x29, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x13,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 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, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63,
- 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x11, 0x46, 0x69, 0x6e,
- 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x12,
- 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x72, 0x61, 0x6e,
- 0x63, 0x68, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 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, 0x2c, 0x0a, 0x12, 0x65, 0x78,
- 0x63, 0x65, 0x70, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
- 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x57, 0x69,
- 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x22, 0x31, 0x0a, 0x12,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22,
- 0xb0, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x45, 0x72,
- 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66,
- 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x66, 0x46,
- 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e,
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x11, 0x72,
- 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
- 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
- 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
- 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x26, 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, 0x12, 0x38, 0x0a,
+ 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x72, 0x61,
+ 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63,
+ 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e,
+ 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
+ 0x22, 0x4e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b,
+ 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x52, 0x52, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53,
+ 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x52, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
+ 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x52, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c,
+ 0x49, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x03,
+ 0x22, 0x63, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68,
+ 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42,
+ 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a,
+ 0x11, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 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, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x22, 0x3c, 0x0a, 0x12, 0x46, 0x69, 0x6e, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x22, 0x8f,
+ 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 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, 0x2c,
+ 0x0a, 0x12, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72,
+ 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x65, 0x78, 0x63, 0x65,
+ 0x70, 0x74, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04,
+ 0x72, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73,
+ 0x22, 0x31, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x69, 0x74, 0x5f, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x74, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x66, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x61, 0x6c,
+ 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
+ 0x52, 0x65, 0x66, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00,
+ 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
+ 0x4c, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x07, 0x0a,
+ 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x26, 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, 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, 0x1b, 0x0a, 0x09, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x52,
+ 0x0a, 0x27, 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, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x61,
+ 0x6e, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52,
+ 0x0b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x01,
+ 0x10, 0x02, 0x22, 0x92, 0x01, 0x0a, 0x23, 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, 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, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x49, 0x0a, 0x24, 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, 0x12,
+ 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0c, 0x52, 0x08, 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x01,
+ 0x10, 0x02, 0x22, 0x78, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 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, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
- 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x52, 0x0a, 0x27, 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, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0b, 0x62, 0x72, 0x61,
- 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x92,
- 0x01, 0x0a, 0x23, 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, 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, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a,
- 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69,
- 0x6d, 0x69, 0x74, 0x22, 0x49, 0x0a, 0x24, 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, 0x12, 0x1b, 0x0a, 0x09, 0x74,
- 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08,
- 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x78,
- 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
- 0x65, 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, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73,
- 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x61, 0x67, 0x52,
- 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74,
- 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
- 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x2e, 0x54, 0x61, 0x67, 0x53,
- 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
- 0x75, 0x72, 0x65, 0x73, 0x1a, 0x5d, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73,
- 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09,
- 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
- 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
- 0x65, 0x6e, 0x74, 0x22, 0x7b, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x61, 0x67, 0x5f, 0x72,
+ 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
+ 0x74, 0x61, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc8, 0x01, 0x0a,
+ 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x2e,
+ 0x54, 0x61, 0x67, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x5d, 0x0a, 0x0c, 0x54, 0x61, 0x67, 0x53,
+ 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x12,
+ 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
+ 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x7b, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x61,
+ 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 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, 0x17, 0x0a, 0x07, 0x74, 0x61,
+ 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67,
+ 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
+ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x4a,
+ 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22,
+ 0x79, 0x0a, 0x1c, 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, 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, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d,
+ 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+ 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x1d, 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, 0x12, 0x2a, 0x0a, 0x08, 0x62,
+ 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62,
+ 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 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, 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, 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, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64,
- 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x4a,
- 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x09, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x22, 0x59, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x67, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10,
- 0x02, 0x52, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x1c, 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, 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, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f,
- 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x1d, 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, 0x12, 0x2a, 0x0a, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63,
- 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63,
- 0x68, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 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,
- 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, 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, 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, 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, 0xa5, 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,
+ 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, 0xa5, 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,
- 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, 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,
+ 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,
- 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, 0x48, 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, 0x09, 0x88, 0x02, 0x01, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 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,
- 0x35, 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,
+ 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, 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, 0x48, 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, 0x09, 0x88, 0x02, 0x01, 0xfa, 0x97, 0x28, 0x02,
+ 0x08, 0x03, 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, 0x35, 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 (
@@ -3494,7 +3551,7 @@ func file_ref_proto_rawDescGZIP() []byte {
}
var file_ref_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
-var file_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
+var file_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 49)
var file_ref_proto_goTypes = []interface{}{
(FindLocalBranchesRequest_SortBy)(0), // 0: gitaly.FindLocalBranchesRequest.SortBy
(FindAllTagsRequest_SortBy_Key)(0), // 1: gitaly.FindAllTagsRequest.SortBy.Key
@@ -3514,138 +3571,141 @@ var file_ref_proto_goTypes = []interface{}{
(*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
- (*DeleteRefsError)(nil), // 30: gitaly.DeleteRefsError
- (*ListBranchNamesContainingCommitRequest)(nil), // 31: gitaly.ListBranchNamesContainingCommitRequest
- (*ListBranchNamesContainingCommitResponse)(nil), // 32: gitaly.ListBranchNamesContainingCommitResponse
- (*ListTagNamesContainingCommitRequest)(nil), // 33: gitaly.ListTagNamesContainingCommitRequest
- (*ListTagNamesContainingCommitResponse)(nil), // 34: gitaly.ListTagNamesContainingCommitResponse
- (*GetTagSignaturesRequest)(nil), // 35: gitaly.GetTagSignaturesRequest
- (*GetTagSignaturesResponse)(nil), // 36: gitaly.GetTagSignaturesResponse
- (*GetTagMessagesRequest)(nil), // 37: gitaly.GetTagMessagesRequest
- (*GetTagMessagesResponse)(nil), // 38: gitaly.GetTagMessagesResponse
- (*FindAllRemoteBranchesRequest)(nil), // 39: gitaly.FindAllRemoteBranchesRequest
- (*FindAllRemoteBranchesResponse)(nil), // 40: gitaly.FindAllRemoteBranchesResponse
- (*PackRefsRequest)(nil), // 41: gitaly.PackRefsRequest
- (*PackRefsResponse)(nil), // 42: gitaly.PackRefsResponse
- (*ListRefsRequest)(nil), // 43: gitaly.ListRefsRequest
- (*ListRefsResponse)(nil), // 44: gitaly.ListRefsResponse
- (*FindRefsByOIDRequest)(nil), // 45: gitaly.FindRefsByOIDRequest
- (*FindRefsByOIDResponse)(nil), // 46: gitaly.FindRefsByOIDResponse
- (*FindAllBranchesResponse_Branch)(nil), // 47: gitaly.FindAllBranchesResponse.Branch
- (*FindAllTagsRequest_SortBy)(nil), // 48: gitaly.FindAllTagsRequest.SortBy
- (*GetTagSignaturesResponse_TagSignature)(nil), // 49: gitaly.GetTagSignaturesResponse.TagSignature
- (*ListRefsRequest_SortBy)(nil), // 50: gitaly.ListRefsRequest.SortBy
- (*ListRefsResponse_Reference)(nil), // 51: gitaly.ListRefsResponse.Reference
- (*Repository)(nil), // 52: gitaly.Repository
- (*PaginationParameter)(nil), // 53: gitaly.PaginationParameter
- (*GitCommit)(nil), // 54: gitaly.GitCommit
- (*timestamppb.Timestamp)(nil), // 55: google.protobuf.Timestamp
- (*Tag)(nil), // 56: gitaly.Tag
- (*Branch)(nil), // 57: gitaly.Branch
- (*InvalidRefFormatError)(nil), // 58: gitaly.InvalidRefFormatError
- (*ReferencesLockedError)(nil), // 59: gitaly.ReferencesLockedError
- (SortDirection)(0), // 60: gitaly.SortDirection
+ (*FindTagError)(nil), // 18: gitaly.FindTagError
+ (*FindAllTagsRequest)(nil), // 19: gitaly.FindAllTagsRequest
+ (*FindAllTagsResponse)(nil), // 20: gitaly.FindAllTagsResponse
+ (*RefExistsRequest)(nil), // 21: gitaly.RefExistsRequest
+ (*RefExistsResponse)(nil), // 22: gitaly.RefExistsResponse
+ (*CreateBranchRequest)(nil), // 23: gitaly.CreateBranchRequest
+ (*CreateBranchResponse)(nil), // 24: gitaly.CreateBranchResponse
+ (*DeleteBranchRequest)(nil), // 25: gitaly.DeleteBranchRequest
+ (*DeleteBranchResponse)(nil), // 26: gitaly.DeleteBranchResponse
+ (*FindBranchRequest)(nil), // 27: gitaly.FindBranchRequest
+ (*FindBranchResponse)(nil), // 28: gitaly.FindBranchResponse
+ (*DeleteRefsRequest)(nil), // 29: gitaly.DeleteRefsRequest
+ (*DeleteRefsResponse)(nil), // 30: gitaly.DeleteRefsResponse
+ (*DeleteRefsError)(nil), // 31: gitaly.DeleteRefsError
+ (*ListBranchNamesContainingCommitRequest)(nil), // 32: gitaly.ListBranchNamesContainingCommitRequest
+ (*ListBranchNamesContainingCommitResponse)(nil), // 33: gitaly.ListBranchNamesContainingCommitResponse
+ (*ListTagNamesContainingCommitRequest)(nil), // 34: gitaly.ListTagNamesContainingCommitRequest
+ (*ListTagNamesContainingCommitResponse)(nil), // 35: gitaly.ListTagNamesContainingCommitResponse
+ (*GetTagSignaturesRequest)(nil), // 36: gitaly.GetTagSignaturesRequest
+ (*GetTagSignaturesResponse)(nil), // 37: gitaly.GetTagSignaturesResponse
+ (*GetTagMessagesRequest)(nil), // 38: gitaly.GetTagMessagesRequest
+ (*GetTagMessagesResponse)(nil), // 39: gitaly.GetTagMessagesResponse
+ (*FindAllRemoteBranchesRequest)(nil), // 40: gitaly.FindAllRemoteBranchesRequest
+ (*FindAllRemoteBranchesResponse)(nil), // 41: gitaly.FindAllRemoteBranchesResponse
+ (*PackRefsRequest)(nil), // 42: gitaly.PackRefsRequest
+ (*PackRefsResponse)(nil), // 43: gitaly.PackRefsResponse
+ (*ListRefsRequest)(nil), // 44: gitaly.ListRefsRequest
+ (*ListRefsResponse)(nil), // 45: gitaly.ListRefsResponse
+ (*FindRefsByOIDRequest)(nil), // 46: gitaly.FindRefsByOIDRequest
+ (*FindRefsByOIDResponse)(nil), // 47: gitaly.FindRefsByOIDResponse
+ (*FindAllBranchesResponse_Branch)(nil), // 48: gitaly.FindAllBranchesResponse.Branch
+ (*FindAllTagsRequest_SortBy)(nil), // 49: gitaly.FindAllTagsRequest.SortBy
+ (*GetTagSignaturesResponse_TagSignature)(nil), // 50: gitaly.GetTagSignaturesResponse.TagSignature
+ (*ListRefsRequest_SortBy)(nil), // 51: gitaly.ListRefsRequest.SortBy
+ (*ListRefsResponse_Reference)(nil), // 52: gitaly.ListRefsResponse.Reference
+ (*Repository)(nil), // 53: gitaly.Repository
+ (*PaginationParameter)(nil), // 54: gitaly.PaginationParameter
+ (*GitCommit)(nil), // 55: gitaly.GitCommit
+ (*timestamppb.Timestamp)(nil), // 56: google.protobuf.Timestamp
+ (*Tag)(nil), // 57: gitaly.Tag
+ (*ReferenceNotFoundError)(nil), // 58: gitaly.ReferenceNotFoundError
+ (*Branch)(nil), // 59: gitaly.Branch
+ (*InvalidRefFormatError)(nil), // 60: gitaly.InvalidRefFormatError
+ (*ReferencesLockedError)(nil), // 61: gitaly.ReferencesLockedError
+ (SortDirection)(0), // 62: gitaly.SortDirection
}
var file_ref_proto_depIdxs = []int32{
- 52, // 0: gitaly.FindDefaultBranchNameRequest.repository:type_name -> gitaly.Repository
- 52, // 1: gitaly.FindAllBranchNamesRequest.repository:type_name -> gitaly.Repository
- 52, // 2: gitaly.FindAllTagNamesRequest.repository:type_name -> gitaly.Repository
- 52, // 3: gitaly.FindLocalBranchesRequest.repository:type_name -> gitaly.Repository
+ 53, // 0: gitaly.FindDefaultBranchNameRequest.repository:type_name -> gitaly.Repository
+ 53, // 1: gitaly.FindAllBranchNamesRequest.repository:type_name -> gitaly.Repository
+ 53, // 2: gitaly.FindAllTagNamesRequest.repository:type_name -> gitaly.Repository
+ 53, // 3: gitaly.FindLocalBranchesRequest.repository:type_name -> gitaly.Repository
0, // 4: gitaly.FindLocalBranchesRequest.sort_by:type_name -> gitaly.FindLocalBranchesRequest.SortBy
- 53, // 5: gitaly.FindLocalBranchesRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 54, // 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
- 54, // 9: gitaly.FindLocalBranchResponse.commit:type_name -> gitaly.GitCommit
- 55, // 10: gitaly.FindLocalBranchCommitAuthor.date:type_name -> google.protobuf.Timestamp
- 52, // 11: gitaly.FindAllBranchesRequest.repository:type_name -> gitaly.Repository
- 47, // 12: gitaly.FindAllBranchesResponse.branches:type_name -> gitaly.FindAllBranchesResponse.Branch
- 52, // 13: gitaly.FindTagRequest.repository:type_name -> gitaly.Repository
- 56, // 14: gitaly.FindTagResponse.tag:type_name -> gitaly.Tag
- 52, // 15: gitaly.FindAllTagsRequest.repository:type_name -> gitaly.Repository
- 48, // 16: gitaly.FindAllTagsRequest.sort_by:type_name -> gitaly.FindAllTagsRequest.SortBy
- 53, // 17: gitaly.FindAllTagsRequest.pagination_params:type_name -> gitaly.PaginationParameter
- 56, // 18: gitaly.FindAllTagsResponse.tags:type_name -> gitaly.Tag
- 52, // 19: gitaly.RefExistsRequest.repository:type_name -> gitaly.Repository
- 52, // 20: gitaly.CreateBranchRequest.repository:type_name -> gitaly.Repository
- 2, // 21: gitaly.CreateBranchResponse.status:type_name -> gitaly.CreateBranchResponse.Status
- 57, // 22: gitaly.CreateBranchResponse.branch:type_name -> gitaly.Branch
- 52, // 23: gitaly.DeleteBranchRequest.repository:type_name -> gitaly.Repository
- 52, // 24: gitaly.FindBranchRequest.repository:type_name -> gitaly.Repository
- 57, // 25: gitaly.FindBranchResponse.branch:type_name -> gitaly.Branch
- 52, // 26: gitaly.DeleteRefsRequest.repository:type_name -> gitaly.Repository
- 58, // 27: gitaly.DeleteRefsError.invalid_format:type_name -> gitaly.InvalidRefFormatError
- 59, // 28: gitaly.DeleteRefsError.references_locked:type_name -> gitaly.ReferencesLockedError
- 52, // 29: gitaly.ListBranchNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
- 52, // 30: gitaly.ListTagNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
- 52, // 31: gitaly.GetTagSignaturesRequest.repository:type_name -> gitaly.Repository
- 49, // 32: gitaly.GetTagSignaturesResponse.signatures:type_name -> gitaly.GetTagSignaturesResponse.TagSignature
- 52, // 33: gitaly.GetTagMessagesRequest.repository:type_name -> gitaly.Repository
- 52, // 34: gitaly.FindAllRemoteBranchesRequest.repository:type_name -> gitaly.Repository
- 57, // 35: gitaly.FindAllRemoteBranchesResponse.branches:type_name -> gitaly.Branch
- 52, // 36: gitaly.PackRefsRequest.repository:type_name -> gitaly.Repository
- 52, // 37: gitaly.ListRefsRequest.repository:type_name -> gitaly.Repository
- 50, // 38: gitaly.ListRefsRequest.sort_by:type_name -> gitaly.ListRefsRequest.SortBy
- 51, // 39: gitaly.ListRefsResponse.references:type_name -> gitaly.ListRefsResponse.Reference
- 52, // 40: gitaly.FindRefsByOIDRequest.repository:type_name -> gitaly.Repository
- 54, // 41: gitaly.FindAllBranchesResponse.Branch.target:type_name -> gitaly.GitCommit
- 1, // 42: gitaly.FindAllTagsRequest.SortBy.key:type_name -> gitaly.FindAllTagsRequest.SortBy.Key
- 60, // 43: gitaly.FindAllTagsRequest.SortBy.direction:type_name -> gitaly.SortDirection
- 3, // 44: gitaly.ListRefsRequest.SortBy.key:type_name -> gitaly.ListRefsRequest.SortBy.Key
- 60, // 45: gitaly.ListRefsRequest.SortBy.direction:type_name -> gitaly.SortDirection
- 4, // 46: gitaly.RefService.FindDefaultBranchName:input_type -> gitaly.FindDefaultBranchNameRequest
- 6, // 47: gitaly.RefService.FindAllBranchNames:input_type -> gitaly.FindAllBranchNamesRequest
- 8, // 48: gitaly.RefService.FindAllTagNames:input_type -> gitaly.FindAllTagNamesRequest
- 10, // 49: gitaly.RefService.FindLocalBranches:input_type -> gitaly.FindLocalBranchesRequest
- 14, // 50: gitaly.RefService.FindAllBranches:input_type -> gitaly.FindAllBranchesRequest
- 18, // 51: gitaly.RefService.FindAllTags:input_type -> gitaly.FindAllTagsRequest
- 16, // 52: gitaly.RefService.FindTag:input_type -> gitaly.FindTagRequest
- 39, // 53: gitaly.RefService.FindAllRemoteBranches:input_type -> gitaly.FindAllRemoteBranchesRequest
- 20, // 54: gitaly.RefService.RefExists:input_type -> gitaly.RefExistsRequest
- 26, // 55: gitaly.RefService.FindBranch:input_type -> gitaly.FindBranchRequest
- 28, // 56: gitaly.RefService.DeleteRefs:input_type -> gitaly.DeleteRefsRequest
- 31, // 57: gitaly.RefService.ListBranchNamesContainingCommit:input_type -> gitaly.ListBranchNamesContainingCommitRequest
- 33, // 58: gitaly.RefService.ListTagNamesContainingCommit:input_type -> gitaly.ListTagNamesContainingCommitRequest
- 35, // 59: gitaly.RefService.GetTagSignatures:input_type -> gitaly.GetTagSignaturesRequest
- 37, // 60: gitaly.RefService.GetTagMessages:input_type -> gitaly.GetTagMessagesRequest
- 41, // 61: gitaly.RefService.PackRefs:input_type -> gitaly.PackRefsRequest
- 43, // 62: gitaly.RefService.ListRefs:input_type -> gitaly.ListRefsRequest
- 45, // 63: gitaly.RefService.FindRefsByOID:input_type -> gitaly.FindRefsByOIDRequest
- 5, // 64: gitaly.RefService.FindDefaultBranchName:output_type -> gitaly.FindDefaultBranchNameResponse
- 7, // 65: gitaly.RefService.FindAllBranchNames:output_type -> gitaly.FindAllBranchNamesResponse
- 9, // 66: gitaly.RefService.FindAllTagNames:output_type -> gitaly.FindAllTagNamesResponse
- 11, // 67: gitaly.RefService.FindLocalBranches:output_type -> gitaly.FindLocalBranchesResponse
- 15, // 68: gitaly.RefService.FindAllBranches:output_type -> gitaly.FindAllBranchesResponse
- 19, // 69: gitaly.RefService.FindAllTags:output_type -> gitaly.FindAllTagsResponse
- 17, // 70: gitaly.RefService.FindTag:output_type -> gitaly.FindTagResponse
- 40, // 71: gitaly.RefService.FindAllRemoteBranches:output_type -> gitaly.FindAllRemoteBranchesResponse
- 21, // 72: gitaly.RefService.RefExists:output_type -> gitaly.RefExistsResponse
- 27, // 73: gitaly.RefService.FindBranch:output_type -> gitaly.FindBranchResponse
- 29, // 74: gitaly.RefService.DeleteRefs:output_type -> gitaly.DeleteRefsResponse
- 32, // 75: gitaly.RefService.ListBranchNamesContainingCommit:output_type -> gitaly.ListBranchNamesContainingCommitResponse
- 34, // 76: gitaly.RefService.ListTagNamesContainingCommit:output_type -> gitaly.ListTagNamesContainingCommitResponse
- 36, // 77: gitaly.RefService.GetTagSignatures:output_type -> gitaly.GetTagSignaturesResponse
- 38, // 78: gitaly.RefService.GetTagMessages:output_type -> gitaly.GetTagMessagesResponse
- 42, // 79: gitaly.RefService.PackRefs:output_type -> gitaly.PackRefsResponse
- 44, // 80: gitaly.RefService.ListRefs:output_type -> gitaly.ListRefsResponse
- 46, // 81: gitaly.RefService.FindRefsByOID:output_type -> gitaly.FindRefsByOIDResponse
- 64, // [64:82] is the sub-list for method output_type
- 46, // [46:64] is the sub-list for method input_type
- 46, // [46:46] is the sub-list for extension type_name
- 46, // [46:46] is the sub-list for extension extendee
- 0, // [0:46] is the sub-list for field type_name
+ 55, // 9: gitaly.FindLocalBranchResponse.commit:type_name -> gitaly.GitCommit
+ 56, // 10: gitaly.FindLocalBranchCommitAuthor.date:type_name -> google.protobuf.Timestamp
+ 53, // 11: gitaly.FindAllBranchesRequest.repository:type_name -> gitaly.Repository
+ 48, // 12: gitaly.FindAllBranchesResponse.branches:type_name -> gitaly.FindAllBranchesResponse.Branch
+ 53, // 13: gitaly.FindTagRequest.repository:type_name -> gitaly.Repository
+ 57, // 14: gitaly.FindTagResponse.tag:type_name -> gitaly.Tag
+ 58, // 15: gitaly.FindTagError.tag_not_found:type_name -> gitaly.ReferenceNotFoundError
+ 53, // 16: gitaly.FindAllTagsRequest.repository:type_name -> gitaly.Repository
+ 49, // 17: gitaly.FindAllTagsRequest.sort_by:type_name -> gitaly.FindAllTagsRequest.SortBy
+ 54, // 18: gitaly.FindAllTagsRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 57, // 19: gitaly.FindAllTagsResponse.tags:type_name -> gitaly.Tag
+ 53, // 20: gitaly.RefExistsRequest.repository:type_name -> gitaly.Repository
+ 53, // 21: gitaly.CreateBranchRequest.repository:type_name -> gitaly.Repository
+ 2, // 22: gitaly.CreateBranchResponse.status:type_name -> gitaly.CreateBranchResponse.Status
+ 59, // 23: gitaly.CreateBranchResponse.branch:type_name -> gitaly.Branch
+ 53, // 24: gitaly.DeleteBranchRequest.repository:type_name -> gitaly.Repository
+ 53, // 25: gitaly.FindBranchRequest.repository:type_name -> gitaly.Repository
+ 59, // 26: gitaly.FindBranchResponse.branch:type_name -> gitaly.Branch
+ 53, // 27: gitaly.DeleteRefsRequest.repository:type_name -> gitaly.Repository
+ 60, // 28: gitaly.DeleteRefsError.invalid_format:type_name -> gitaly.InvalidRefFormatError
+ 61, // 29: gitaly.DeleteRefsError.references_locked:type_name -> gitaly.ReferencesLockedError
+ 53, // 30: gitaly.ListBranchNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
+ 53, // 31: gitaly.ListTagNamesContainingCommitRequest.repository:type_name -> gitaly.Repository
+ 53, // 32: gitaly.GetTagSignaturesRequest.repository:type_name -> gitaly.Repository
+ 50, // 33: gitaly.GetTagSignaturesResponse.signatures:type_name -> gitaly.GetTagSignaturesResponse.TagSignature
+ 53, // 34: gitaly.GetTagMessagesRequest.repository:type_name -> gitaly.Repository
+ 53, // 35: gitaly.FindAllRemoteBranchesRequest.repository:type_name -> gitaly.Repository
+ 59, // 36: gitaly.FindAllRemoteBranchesResponse.branches:type_name -> gitaly.Branch
+ 53, // 37: gitaly.PackRefsRequest.repository:type_name -> gitaly.Repository
+ 53, // 38: gitaly.ListRefsRequest.repository:type_name -> gitaly.Repository
+ 51, // 39: gitaly.ListRefsRequest.sort_by:type_name -> gitaly.ListRefsRequest.SortBy
+ 52, // 40: gitaly.ListRefsResponse.references:type_name -> gitaly.ListRefsResponse.Reference
+ 53, // 41: gitaly.FindRefsByOIDRequest.repository:type_name -> gitaly.Repository
+ 55, // 42: gitaly.FindAllBranchesResponse.Branch.target:type_name -> gitaly.GitCommit
+ 1, // 43: gitaly.FindAllTagsRequest.SortBy.key:type_name -> gitaly.FindAllTagsRequest.SortBy.Key
+ 62, // 44: gitaly.FindAllTagsRequest.SortBy.direction:type_name -> gitaly.SortDirection
+ 3, // 45: gitaly.ListRefsRequest.SortBy.key:type_name -> gitaly.ListRefsRequest.SortBy.Key
+ 62, // 46: gitaly.ListRefsRequest.SortBy.direction:type_name -> gitaly.SortDirection
+ 4, // 47: gitaly.RefService.FindDefaultBranchName:input_type -> gitaly.FindDefaultBranchNameRequest
+ 6, // 48: gitaly.RefService.FindAllBranchNames:input_type -> gitaly.FindAllBranchNamesRequest
+ 8, // 49: gitaly.RefService.FindAllTagNames:input_type -> gitaly.FindAllTagNamesRequest
+ 10, // 50: gitaly.RefService.FindLocalBranches:input_type -> gitaly.FindLocalBranchesRequest
+ 14, // 51: gitaly.RefService.FindAllBranches:input_type -> gitaly.FindAllBranchesRequest
+ 19, // 52: gitaly.RefService.FindAllTags:input_type -> gitaly.FindAllTagsRequest
+ 16, // 53: gitaly.RefService.FindTag:input_type -> gitaly.FindTagRequest
+ 40, // 54: gitaly.RefService.FindAllRemoteBranches:input_type -> gitaly.FindAllRemoteBranchesRequest
+ 21, // 55: gitaly.RefService.RefExists:input_type -> gitaly.RefExistsRequest
+ 27, // 56: gitaly.RefService.FindBranch:input_type -> gitaly.FindBranchRequest
+ 29, // 57: gitaly.RefService.DeleteRefs:input_type -> gitaly.DeleteRefsRequest
+ 32, // 58: gitaly.RefService.ListBranchNamesContainingCommit:input_type -> gitaly.ListBranchNamesContainingCommitRequest
+ 34, // 59: gitaly.RefService.ListTagNamesContainingCommit:input_type -> gitaly.ListTagNamesContainingCommitRequest
+ 36, // 60: gitaly.RefService.GetTagSignatures:input_type -> gitaly.GetTagSignaturesRequest
+ 38, // 61: gitaly.RefService.GetTagMessages:input_type -> gitaly.GetTagMessagesRequest
+ 42, // 62: gitaly.RefService.PackRefs:input_type -> gitaly.PackRefsRequest
+ 44, // 63: gitaly.RefService.ListRefs:input_type -> gitaly.ListRefsRequest
+ 46, // 64: gitaly.RefService.FindRefsByOID:input_type -> gitaly.FindRefsByOIDRequest
+ 5, // 65: gitaly.RefService.FindDefaultBranchName:output_type -> gitaly.FindDefaultBranchNameResponse
+ 7, // 66: gitaly.RefService.FindAllBranchNames:output_type -> gitaly.FindAllBranchNamesResponse
+ 9, // 67: gitaly.RefService.FindAllTagNames:output_type -> gitaly.FindAllTagNamesResponse
+ 11, // 68: gitaly.RefService.FindLocalBranches:output_type -> gitaly.FindLocalBranchesResponse
+ 15, // 69: gitaly.RefService.FindAllBranches:output_type -> gitaly.FindAllBranchesResponse
+ 20, // 70: gitaly.RefService.FindAllTags:output_type -> gitaly.FindAllTagsResponse
+ 17, // 71: gitaly.RefService.FindTag:output_type -> gitaly.FindTagResponse
+ 41, // 72: gitaly.RefService.FindAllRemoteBranches:output_type -> gitaly.FindAllRemoteBranchesResponse
+ 22, // 73: gitaly.RefService.RefExists:output_type -> gitaly.RefExistsResponse
+ 28, // 74: gitaly.RefService.FindBranch:output_type -> gitaly.FindBranchResponse
+ 30, // 75: gitaly.RefService.DeleteRefs:output_type -> gitaly.DeleteRefsResponse
+ 33, // 76: gitaly.RefService.ListBranchNamesContainingCommit:output_type -> gitaly.ListBranchNamesContainingCommitResponse
+ 35, // 77: gitaly.RefService.ListTagNamesContainingCommit:output_type -> gitaly.ListTagNamesContainingCommitResponse
+ 37, // 78: gitaly.RefService.GetTagSignatures:output_type -> gitaly.GetTagSignaturesResponse
+ 39, // 79: gitaly.RefService.GetTagMessages:output_type -> gitaly.GetTagMessagesResponse
+ 43, // 80: gitaly.RefService.PackRefs:output_type -> gitaly.PackRefsResponse
+ 45, // 81: gitaly.RefService.ListRefs:output_type -> gitaly.ListRefsResponse
+ 47, // 82: gitaly.RefService.FindRefsByOID:output_type -> gitaly.FindRefsByOIDResponse
+ 65, // [65:83] is the sub-list for method output_type
+ 47, // [47:65] is the sub-list for method input_type
+ 47, // [47:47] is the sub-list for extension type_name
+ 47, // [47:47] is the sub-list for extension extendee
+ 0, // [0:47] is the sub-list for field type_name
}
func init() { file_ref_proto_init() }
@@ -3826,7 +3886,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllTagsRequest); i {
+ switch v := v.(*FindTagError); i {
case 0:
return &v.state
case 1:
@@ -3838,7 +3898,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllTagsResponse); i {
+ switch v := v.(*FindAllTagsRequest); i {
case 0:
return &v.state
case 1:
@@ -3850,7 +3910,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RefExistsRequest); i {
+ switch v := v.(*FindAllTagsResponse); i {
case 0:
return &v.state
case 1:
@@ -3862,7 +3922,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RefExistsResponse); i {
+ switch v := v.(*RefExistsRequest); i {
case 0:
return &v.state
case 1:
@@ -3874,7 +3934,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CreateBranchRequest); i {
+ switch v := v.(*RefExistsResponse); i {
case 0:
return &v.state
case 1:
@@ -3886,7 +3946,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CreateBranchResponse); i {
+ switch v := v.(*CreateBranchRequest); i {
case 0:
return &v.state
case 1:
@@ -3898,7 +3958,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteBranchRequest); i {
+ switch v := v.(*CreateBranchResponse); i {
case 0:
return &v.state
case 1:
@@ -3910,7 +3970,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteBranchResponse); i {
+ switch v := v.(*DeleteBranchRequest); i {
case 0:
return &v.state
case 1:
@@ -3922,7 +3982,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindBranchRequest); i {
+ switch v := v.(*DeleteBranchResponse); i {
case 0:
return &v.state
case 1:
@@ -3934,7 +3994,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindBranchResponse); i {
+ switch v := v.(*FindBranchRequest); i {
case 0:
return &v.state
case 1:
@@ -3946,7 +4006,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteRefsRequest); i {
+ switch v := v.(*FindBranchResponse); i {
case 0:
return &v.state
case 1:
@@ -3958,7 +4018,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteRefsResponse); i {
+ switch v := v.(*DeleteRefsRequest); i {
case 0:
return &v.state
case 1:
@@ -3970,7 +4030,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DeleteRefsError); i {
+ switch v := v.(*DeleteRefsResponse); i {
case 0:
return &v.state
case 1:
@@ -3982,7 +4042,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListBranchNamesContainingCommitRequest); i {
+ switch v := v.(*DeleteRefsError); i {
case 0:
return &v.state
case 1:
@@ -3994,7 +4054,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListBranchNamesContainingCommitResponse); i {
+ switch v := v.(*ListBranchNamesContainingCommitRequest); i {
case 0:
return &v.state
case 1:
@@ -4006,7 +4066,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListTagNamesContainingCommitRequest); i {
+ switch v := v.(*ListBranchNamesContainingCommitResponse); i {
case 0:
return &v.state
case 1:
@@ -4018,7 +4078,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListTagNamesContainingCommitResponse); i {
+ switch v := v.(*ListTagNamesContainingCommitRequest); i {
case 0:
return &v.state
case 1:
@@ -4030,7 +4090,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetTagSignaturesRequest); i {
+ switch v := v.(*ListTagNamesContainingCommitResponse); i {
case 0:
return &v.state
case 1:
@@ -4042,7 +4102,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetTagSignaturesResponse); i {
+ switch v := v.(*GetTagSignaturesRequest); i {
case 0:
return &v.state
case 1:
@@ -4054,7 +4114,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetTagMessagesRequest); i {
+ switch v := v.(*GetTagSignaturesResponse); i {
case 0:
return &v.state
case 1:
@@ -4066,7 +4126,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetTagMessagesResponse); i {
+ switch v := v.(*GetTagMessagesRequest); i {
case 0:
return &v.state
case 1:
@@ -4078,7 +4138,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllRemoteBranchesRequest); i {
+ switch v := v.(*GetTagMessagesResponse); i {
case 0:
return &v.state
case 1:
@@ -4090,7 +4150,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllRemoteBranchesResponse); i {
+ switch v := v.(*FindAllRemoteBranchesRequest); i {
case 0:
return &v.state
case 1:
@@ -4102,7 +4162,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PackRefsRequest); i {
+ switch v := v.(*FindAllRemoteBranchesResponse); i {
case 0:
return &v.state
case 1:
@@ -4114,7 +4174,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PackRefsResponse); i {
+ switch v := v.(*PackRefsRequest); i {
case 0:
return &v.state
case 1:
@@ -4126,7 +4186,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRefsRequest); i {
+ switch v := v.(*PackRefsResponse); i {
case 0:
return &v.state
case 1:
@@ -4138,7 +4198,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRefsResponse); i {
+ switch v := v.(*ListRefsRequest); i {
case 0:
return &v.state
case 1:
@@ -4150,7 +4210,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindRefsByOIDRequest); i {
+ switch v := v.(*ListRefsResponse); i {
case 0:
return &v.state
case 1:
@@ -4162,7 +4222,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindRefsByOIDResponse); i {
+ switch v := v.(*FindRefsByOIDRequest); i {
case 0:
return &v.state
case 1:
@@ -4174,7 +4234,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllBranchesResponse_Branch); i {
+ switch v := v.(*FindRefsByOIDResponse); i {
case 0:
return &v.state
case 1:
@@ -4186,7 +4246,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FindAllTagsRequest_SortBy); i {
+ switch v := v.(*FindAllBranchesResponse_Branch); i {
case 0:
return &v.state
case 1:
@@ -4198,7 +4258,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetTagSignaturesResponse_TagSignature); i {
+ switch v := v.(*FindAllTagsRequest_SortBy); i {
case 0:
return &v.state
case 1:
@@ -4210,7 +4270,7 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRefsRequest_SortBy); i {
+ switch v := v.(*GetTagSignaturesResponse_TagSignature); i {
case 0:
return &v.state
case 1:
@@ -4222,6 +4282,18 @@ func file_ref_proto_init() {
}
}
file_ref_proto_msgTypes[47].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[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRefsResponse_Reference); i {
case 0:
return &v.state
@@ -4234,7 +4306,7 @@ func file_ref_proto_init() {
}
}
}
- file_ref_proto_msgTypes[26].OneofWrappers = []interface{}{
+ file_ref_proto_msgTypes[27].OneofWrappers = []interface{}{
(*DeleteRefsError_InvalidFormat)(nil),
(*DeleteRefsError_ReferencesLocked)(nil),
}
@@ -4244,7 +4316,7 @@ func file_ref_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_ref_proto_rawDesc,
NumEnums: 4,
- NumMessages: 48,
+ NumMessages: 49,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/go/gitalypb/ref_grpc.pb.go b/proto/go/gitalypb/ref_grpc.pb.go
index 0f0884a1c..d84760be1 100644
--- a/proto/go/gitalypb/ref_grpc.pb.go
+++ b/proto/go/gitalypb/ref_grpc.pb.go
@@ -34,7 +34,9 @@ type RefServiceClient interface {
FindAllBranches(ctx context.Context, in *FindAllBranchesRequest, opts ...grpc.CallOption) (RefService_FindAllBranchesClient, error)
// Returns a stream of tags repository has.
FindAllTags(ctx context.Context, in *FindAllTagsRequest, opts ...grpc.CallOption) (RefService_FindAllTagsClient, error)
- // This comment is left unintentionally blank.
+ // FindTag looks up a tag by its name and returns it to the caller if it exists. This RPC supports
+ // both lightweight and annotated tags. Note: this RPC returns an `Internal` error if the tag was
+ // not found.
FindTag(ctx context.Context, in *FindTagRequest, opts ...grpc.CallOption) (*FindTagResponse, error)
// This comment is left unintentionally blank.
FindAllRemoteBranches(ctx context.Context, in *FindAllRemoteBranchesRequest, opts ...grpc.CallOption) (RefService_FindAllRemoteBranchesClient, error)
@@ -509,7 +511,9 @@ type RefServiceServer interface {
FindAllBranches(*FindAllBranchesRequest, RefService_FindAllBranchesServer) error
// Returns a stream of tags repository has.
FindAllTags(*FindAllTagsRequest, RefService_FindAllTagsServer) error
- // This comment is left unintentionally blank.
+ // FindTag looks up a tag by its name and returns it to the caller if it exists. This RPC supports
+ // both lightweight and annotated tags. Note: this RPC returns an `Internal` error if the tag was
+ // not found.
FindTag(context.Context, *FindTagRequest) (*FindTagResponse, error)
// This comment is left unintentionally blank.
FindAllRemoteBranches(*FindAllRemoteBranchesRequest, RefService_FindAllRemoteBranchesServer) error
diff --git a/proto/ref.proto b/proto/ref.proto
index 42a0d9659..33729e036 100644
--- a/proto/ref.proto
+++ b/proto/ref.proto
@@ -55,7 +55,9 @@ service RefService {
};
}
- // This comment is left unintentionally blank.
+ // FindTag looks up a tag by its name and returns it to the caller if it exists. This RPC supports
+ // both lightweight and annotated tags. Note: this RPC returns an `Internal` error if the tag was
+ // not found.
rpc FindTag(FindTagRequest) returns (FindTagResponse) {
option (op_type) = {
op: ACCESSOR
@@ -268,20 +270,29 @@ message FindAllBranchesResponse {
repeated Branch branches = 1;
}
-// This comment is left unintentionally blank.
+// FindTagRequest is a request for the FindTag RPC.
message FindTagRequest {
- // This comment is left unintentionally blank.
+ // Repository is the repository to look up the tag in.
Repository repository = 1 [(target_repository)=true];
- // This comment is left unintentionally blank.
+ // TagName is the name of the tag that should be looked up. The caller is supposed to pass in the
+ // tag name only, so if e.g. a tag `refs/tags/v1.0.0` exists, then the caller should pass `v1.0.0`
+ // as argument.
bytes tag_name = 2;
}
-// This comment is left unintentionally blank.
+// FindTagResponse is a response for the FindTag RPC.
message FindTagResponse {
- // This comment is left unintentionally blank.
+ // Tag is the tag that was found.
Tag tag = 1;
}
+// FindTagError is an error that will be returned by the FindTag RPC under specific error
+// conditions.
+message FindTagError {
+ // TagNotFound indicates that the tag was not found.
+ ReferenceNotFoundError tag_not_found = 1;
+}
+
// This comment is left unintentionally blank.
message FindAllTagsRequest {
// SortBy allows to specify desired order of the elements.
diff --git a/ruby/proto/gitaly/errors_pb.rb b/ruby/proto/gitaly/errors_pb.rb
index 620b645e5..f772b7291 100644
--- a/ruby/proto/gitaly/errors_pb.rb
+++ b/ruby/proto/gitaly/errors_pb.rb
@@ -31,6 +31,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
optional :reference_name, :bytes, 1
optional :oid, :string, 2
end
+ add_message "gitaly.ReferenceNotFoundError" do
+ optional :reference_name, :bytes, 1
+ end
add_message "gitaly.ReferenceUpdateError" do
optional :reference_name, :bytes, 1
optional :old_oid, :string, 2
@@ -65,6 +68,7 @@ module Gitaly
MergeConflictError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.MergeConflictError").msgclass
ReferencesLockedError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ReferencesLockedError").msgclass
ReferenceExistsError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ReferenceExistsError").msgclass
+ ReferenceNotFoundError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ReferenceNotFoundError").msgclass
ReferenceUpdateError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ReferenceUpdateError").msgclass
ResolveRevisionError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ResolveRevisionError").msgclass
LimitError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.LimitError").msgclass
diff --git a/ruby/proto/gitaly/ref_pb.rb b/ruby/proto/gitaly/ref_pb.rb
index bfd341832..72aa78039 100644
--- a/ruby/proto/gitaly/ref_pb.rb
+++ b/ruby/proto/gitaly/ref_pb.rb
@@ -73,6 +73,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
add_message "gitaly.FindTagResponse" do
optional :tag, :message, 1, "gitaly.Tag"
end
+ add_message "gitaly.FindTagError" do
+ optional :tag_not_found, :message, 1, "gitaly.ReferenceNotFoundError"
+ end
add_message "gitaly.FindAllTagsRequest" do
optional :repository, :message, 1, "gitaly.Repository"
optional :sort_by, :message, 2, "gitaly.FindAllTagsRequest.SortBy"
@@ -239,6 +242,7 @@ module Gitaly
FindAllBranchesResponse::Branch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindAllBranchesResponse.Branch").msgclass
FindTagRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindTagRequest").msgclass
FindTagResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindTagResponse").msgclass
+ FindTagError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindTagError").msgclass
FindAllTagsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindAllTagsRequest").msgclass
FindAllTagsRequest::SortBy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindAllTagsRequest.SortBy").msgclass
FindAllTagsRequest::SortBy::Key = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.FindAllTagsRequest.SortBy.Key").enummodule
diff --git a/ruby/proto/gitaly/ref_services_pb.rb b/ruby/proto/gitaly/ref_services_pb.rb
index 67f5e76a1..ac905cd7b 100644
--- a/ruby/proto/gitaly/ref_services_pb.rb
+++ b/ruby/proto/gitaly/ref_services_pb.rb
@@ -27,7 +27,9 @@ module Gitaly
rpc :FindAllBranches, ::Gitaly::FindAllBranchesRequest, stream(::Gitaly::FindAllBranchesResponse)
# Returns a stream of tags repository has.
rpc :FindAllTags, ::Gitaly::FindAllTagsRequest, stream(::Gitaly::FindAllTagsResponse)
- # This comment is left unintentionally blank.
+ # FindTag looks up a tag by its name and returns it to the caller if it exists. This RPC supports
+ # both lightweight and annotated tags. Note: this RPC returns an `Internal` error if the tag was
+ # not found.
rpc :FindTag, ::Gitaly::FindTagRequest, ::Gitaly::FindTagResponse
# This comment is left unintentionally blank.
rpc :FindAllRemoteBranches, ::Gitaly::FindAllRemoteBranchesRequest, stream(::Gitaly::FindAllRemoteBranchesResponse)