diff --git a/changelogs/unreleased/osw-support-dry-merge-to-ref.yml b/changelogs/unreleased/osw-support-dry-merge-to-ref.yml new file mode 100644 index 0000000000000000000000000000000000000000..d7fab6b17d6b114cf18294b1e79c68eecc60c5e5 --- /dev/null +++ b/changelogs/unreleased/osw-support-dry-merge-to-ref.yml @@ -0,0 +1,5 @@ +--- +title: Support merge ref writing (without merging to target branch) +merge_request: 1057 +author: +type: added diff --git a/internal/service/operations/merge.go b/internal/service/operations/merge.go index 9fa3888b372f1f5f10d6d7d14911ccdb93c072c2..60588c0116d8ae2fd3c7d90252ce28c3932ca714 100644 --- a/internal/service/operations/merge.go +++ b/internal/service/operations/merge.go @@ -5,9 +5,8 @@ import ( "fmt" "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb" + "gitlab.com/gitlab-org/gitaly/internal/helper" "gitlab.com/gitlab-org/gitaly/internal/rubyserver" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" ) func (s *server) UserMergeBranch(bidi gitalypb.OperationService_UserMergeBranchServer) error { @@ -75,7 +74,7 @@ func validateFFRequest(in *gitalypb.UserFFBranchRequest) error { func (s *server) UserFFBranch(ctx context.Context, in *gitalypb.UserFFBranchRequest) (*gitalypb.UserFFBranchResponse, error) { if err := validateFFRequest(in); err != nil { - return nil, status.Errorf(codes.InvalidArgument, "UserFFBranch: %v", err) + return nil, helper.ErrInvalidArgument(err) } client, err := s.OperationServiceClient(ctx) @@ -90,3 +89,41 @@ func (s *server) UserFFBranch(ctx context.Context, in *gitalypb.UserFFBranchRequ return client.UserFFBranch(clientCtx, in) } + +func validateUserMergeToRefRequest(in *gitalypb.UserMergeToRefRequest) error { + if len(in.Branch) == 0 { + return fmt.Errorf("empty branch name") + } + + if in.User == nil { + return fmt.Errorf("empty user") + } + + if in.SourceSha == "" { + return fmt.Errorf("empty source SHA") + } + + if len(in.TargetRef) == 0 { + return fmt.Errorf("empty target ref") + } + + return nil +} + +func (s *server) UserMergeToRef(ctx context.Context, in *gitalypb.UserMergeToRefRequest) (*gitalypb.UserMergeToRefResponse, error) { + if err := validateUserMergeToRefRequest(in); err != nil { + return nil, helper.ErrInvalidArgument(err) + } + + client, err := s.OperationServiceClient(ctx) + if err != nil { + return nil, helper.ErrInternal(err) + } + + clientCtx, err := rubyserver.SetHeaders(ctx, in.GetRepository()) + if err != nil { + return nil, err + } + + return client.UserMergeToRef(clientCtx, in) +} diff --git a/internal/service/operations/merge_test.go b/internal/service/operations/merge_test.go index 397633f429112e6eef2dab3181249732ad0c2d59..aab11c5d97ae04bdaa29324c7f2ed10c6e74a3ae 100644 --- a/internal/service/operations/merge_test.go +++ b/internal/service/operations/merge_test.go @@ -453,6 +453,239 @@ func TestFailedUserFFBranchDueToHooks(t *testing.T) { } } +func TestSuccessfulUserMergeToRefRequest(t *testing.T) { + server, serverSocketPath := runOperationServiceServer(t) + defer server.Stop() + + client, conn := newOperationClient(t, serverSocketPath) + defer conn.Close() + + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + prepareMergeBranch(t, testRepoPath) + + existingTargetRef := []byte("refs/merge-requests/x/written") + emptyTargetRef := []byte("refs/merge-requests/x/merge") + mergeCommitMessage := "Merged by Gitaly" + + // Writes in existingTargetRef + beforeRefreshCommitSha := "a5391128b0ef5d21df5dd23d98557f4ef12fae20" + out, err := exec.Command("git", "-C", testRepoPath, "update-ref", string(existingTargetRef), beforeRefreshCommitSha).CombinedOutput() + require.NoError(t, err, "give an existing state to the target ref: %s", out) + + testCases := []struct { + desc string + user *gitalypb.User + branch []byte + targetRef []byte + emptyRef bool + sourceSha string + message []byte + }{ + { + desc: "empty target ref merge", + user: mergeUser, + branch: []byte(mergeBranchName), + targetRef: emptyTargetRef, + emptyRef: true, + sourceSha: commitToMerge, + message: []byte(mergeCommitMessage), + }, + { + desc: "existing target ref", + user: mergeUser, + branch: []byte(mergeBranchName), + targetRef: existingTargetRef, + emptyRef: false, + sourceSha: commitToMerge, + message: []byte(mergeCommitMessage), + }, + } + + for _, testCase := range testCases { + t.Run(testCase.desc, func(t *testing.T) { + ctx, cancel := testhelper.Context() + defer cancel() + + request := &gitalypb.UserMergeToRefRequest{ + Repository: testRepo, + User: testCase.user, + Branch: testCase.branch, + TargetRef: testCase.targetRef, + SourceSha: testCase.sourceSha, + Message: testCase.message, + } + + commitBeforeRefMerge, fetchRefBeforeMergeErr := gitlog.GetCommit(ctx, testRepo, string(testCase.targetRef)) + if testCase.emptyRef { + require.Error(t, fetchRefBeforeMergeErr, "error when fetching empty ref commit") + } else { + require.NoError(t, fetchRefBeforeMergeErr, "no error when fetching existing ref") + } + + resp, err := client.UserMergeToRef(ctx, request) + require.NoError(t, err) + + commit, err := gitlog.GetCommit(ctx, testRepo, string(testCase.targetRef)) + require.NoError(t, err, "look up git commit after call has finished") + + // Asserts commit parent SHAs + require.Equal(t, []string{mergeBranchHeadBefore, testCase.sourceSha}, commit.ParentIds, "merge commit parents must be the sha before HEAD and source sha") + + require.True(t, strings.HasPrefix(string(commit.Body), string(testCase.message)), "expected %q to start with %q", commit.Body, string(testCase.message)) + + // Asserts author + author := commit.Author + require.Equal(t, mergeUser.Name, author.Name) + require.Equal(t, mergeUser.Email, author.Email) + + require.Equal(t, resp.CommitId, commit.Id) + + // Calling commitBeforeRefMerge.Id in a non-existent + // commit will raise a null-pointer error. + if !testCase.emptyRef { + require.NotEqual(t, commit.Id, commitBeforeRefMerge.Id) + } + }) + } +} + +func TestFailedUserMergeToRefRequest(t *testing.T) { + server, serverSocketPath := runOperationServiceServer(t) + defer server.Stop() + + client, conn := newOperationClient(t, serverSocketPath) + defer conn.Close() + + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + prepareMergeBranch(t, testRepoPath) + + validTargetRef := []byte("refs/merge-requests/x/merge") + + testCases := []struct { + desc string + user *gitalypb.User + branch []byte + targetRef []byte + sourceSha string + repo *gitalypb.Repository + code codes.Code + }{ + { + desc: "empty repository", + user: mergeUser, + branch: []byte(branchName), + sourceSha: commitToMerge, + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + { + desc: "empty user", + repo: testRepo, + branch: []byte(branchName), + sourceSha: commitToMerge, + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + { + desc: "empty source SHA", + repo: testRepo, + user: mergeUser, + branch: []byte(branchName), + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + { + desc: "non-existing commit", + repo: testRepo, + user: mergeUser, + branch: []byte(branchName), + sourceSha: "f001", + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + { + desc: "empty branch", + repo: testRepo, + user: mergeUser, + sourceSha: commitToMerge, + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + { + desc: "non-existing branch", + repo: testRepo, + user: mergeUser, + branch: []byte("this-isnt-real"), + sourceSha: commitToMerge, + targetRef: validTargetRef, + code: codes.InvalidArgument, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.desc, func(t *testing.T) { + ctx, cancel := testhelper.Context() + defer cancel() + + request := &gitalypb.UserMergeToRefRequest{ + Repository: testCase.repo, + User: testCase.user, + Branch: testCase.branch, + SourceSha: testCase.sourceSha, + TargetRef: testCase.targetRef, + } + _, err := client.UserMergeToRef(ctx, request) + testhelper.RequireGrpcError(t, err, testCase.code) + }) + } +} + +func TestUserMergeToRefFailedDueToHooksRequest(t *testing.T) { + server, serverSocketPath := runOperationServiceServer(t) + defer server.Stop() + + client, conn := newOperationClient(t, serverSocketPath) + defer conn.Close() + + testRepo, testRepoPath, cleanupFn := testhelper.NewTestRepo(t) + defer cleanupFn() + + prepareMergeBranch(t, testRepoPath) + + targetRef := []byte("refs/merge-requests/x/merge") + mergeCommitMessage := "Merged by Gitaly" + + request := &gitalypb.UserMergeToRefRequest{ + Repository: testRepo, + SourceSha: commitToMerge, + Branch: []byte(mergeBranchName), + TargetRef: targetRef, + User: mergeUser, + Message: []byte(mergeCommitMessage), + } + + hookContent := []byte("#!/bin/sh\necho 'failure'\nexit 1") + + for _, hookName := range gitlabPreHooks { + t.Run(hookName, func(t *testing.T) { + remove, err := OverrideHooks(hookName, hookContent) + require.NoError(t, err) + defer remove() + + ctx, cancel := testhelper.Context() + defer cancel() + + resp, err := client.UserMergeToRef(ctx, request) + require.Nil(t, err) + require.Contains(t, resp.PreReceiveError, "failure") + }) + } +} + func prepareMergeBranch(t *testing.T, testRepoPath string) { deleteBranch(testRepoPath, mergeBranchName) out, err := exec.Command("git", "-C", testRepoPath, "branch", mergeBranchName, mergeBranchHeadBefore).CombinedOutput() diff --git a/internal/service/remote/list_remotes.go b/internal/service/remote/list_remotes.go index e57b31f34caf1a74bf1c1420bf17c8fc85511dce..8e4119cd9a31dba40ea2f5aa7745ff47b5ca6f7d 100644 --- a/internal/service/remote/list_remotes.go +++ b/internal/service/remote/list_remotes.go @@ -1,11 +1,9 @@ package remote import ( - "context" - "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb" ) -func (s *server) ListRemotes(ctx context.Context, in *gitalypb.ListRemotesRequest) (*gitalypb.ListRemotesResponse, error) { - return nil, nil +func (s *server) ListRemotes(*gitalypb.ListRemotesRequest, gitalypb.RemoteService_ListRemotesServer) error { + return nil } diff --git a/ruby/Gemfile b/ruby/Gemfile index 352c5eece86c5c8eaaeb107140750ab2a3960173..047826902f15db1da9736bc695f1984c74aad389 100644 --- a/ruby/Gemfile +++ b/ruby/Gemfile @@ -6,7 +6,7 @@ gem 'bundler', '>= 1.16.5' gem 'rugged', '~> 0.27' gem 'github-linguist', '~> 6.1', require: 'linguist' gem 'gitlab-markup', '~> 1.6.5' -gem 'gitaly-proto', '~> 1.10.0' +gem 'gitaly-proto', '~> 1.12.0' gem 'activesupport', '~> 5.0.2' gem 'rdoc', '~> 4.2' gem 'gitlab-gollum-lib', '~> 4.2', require: false diff --git a/ruby/Gemfile.lock b/ruby/Gemfile.lock index 886185c31f4fc9459b75d32d4cdca805473ce403..91932975e11b3f2bbc2327e99b44561af7ca0fba 100644 --- a/ruby/Gemfile.lock +++ b/ruby/Gemfile.lock @@ -36,7 +36,7 @@ GEM ffi (1.10.0) gemojione (3.3.0) json - gitaly-proto (1.10.0) + gitaly-proto (1.12.0) grpc (~> 1.0) github-linguist (6.2.0) charlock_holmes (~> 0.7.6) @@ -178,7 +178,7 @@ DEPENDENCIES bundler (>= 1.16.5) factory_bot faraday (~> 0.12) - gitaly-proto (~> 1.10.0) + gitaly-proto (~> 1.12.0) github-linguist (~> 6.1) gitlab-gollum-lib (~> 4.2) gitlab-gollum-rugged_adapter (~> 0.4.4) diff --git a/ruby/lib/gitaly_server/operations_service.rb b/ruby/lib/gitaly_server/operations_service.rb index 26176884fa60a189fa350a71c9c4b5e471c9349b..9e52d06ff4bc450092bc6ea34010e4bc7fca94ab 100644 --- a/ruby/lib/gitaly_server/operations_service.rb +++ b/ruby/lib/gitaly_server/operations_service.rb @@ -95,6 +95,21 @@ module GitalyServer raise GRPC::FailedPrecondition.new(e.message) end + def user_merge_to_ref(request, call) + repo = Gitlab::Git::Repository.from_gitaly(request.repository, call) + user = Gitlab::Git::User.from_gitaly(request.user) + + commit_id = repo.merge_to_ref(user, request.source_sha, request.branch, request.target_ref, request.message.dup) + + Gitaly::UserMergeToRefResponse.new(commit_id: commit_id) + rescue Gitlab::Git::CommitError => e + raise GRPC::FailedPrecondition.new(e.to_s) + rescue ArgumentError => e + raise GRPC::InvalidArgument.new(e.to_s) + rescue Gitlab::Git::PreReceiveError => e + Gitaly::UserMergeToRefResponse.new(pre_receive_error: set_utf8!(e.message)) + end + def user_merge_branch(session, call) Enumerator.new do |y| first_request = session.next diff --git a/ruby/lib/gitlab/git/operation_service.rb b/ruby/lib/gitlab/git/operation_service.rb index 649337dd9aed168e4102f8dfb44a97751244e4b0..ac6998dc29e23a4e84b2f4a53ee98c52c3cb45c0 100644 --- a/ruby/lib/gitlab/git/operation_service.rb +++ b/ruby/lib/gitlab/git/operation_service.rb @@ -101,6 +101,32 @@ module Gitlab update_ref_in_hooks(ref, newrev, oldrev) end + # Yields the given block (which should return a commit) and + # writes it to the ref while also executing hooks for it. + # The ref is _always_ overwritten (nothing is taken from its + # previous state). + # + # Returns the generated commit. + # + # ref - The target ref path we're commiting to. + # from_branch - The branch we're taking the HEAD commit from. + def commit_ref(ref, from_branch:) + update_autocrlf_option + + repository.write_ref(ref, from_branch.target) + + # Make commit + newrev = yield + + raise Gitlab::Git::CommitError.new('Failed to create commit') unless newrev + + oldrev = from_branch.target + + update_ref_in_hooks(ref, newrev, oldrev) + + newrev + end + private # Returns [newrev, should_run_after_create, should_run_after_create_branch] diff --git a/ruby/lib/gitlab/git/repository.rb b/ruby/lib/gitlab/git/repository.rb index 050e74feb09574d208a5ab12cbef06146ea2fd37..dedbe368f8ec45dce03654e1d27f29d0853c6491 100644 --- a/ruby/lib/gitlab/git/repository.rb +++ b/ruby/lib/gitlab/git/repository.rb @@ -356,28 +356,29 @@ module Gitlab tags.find { |tag| tag.name.b == name_b } end - def merge(user, source_sha, target_branch, message) - committer = Gitlab::Git.committer_hash(email: user.email, name: user.name) + def merge_to_ref(user, source_sha, branch, target_ref, message) + branch = find_branch(branch) - OperationService.new(user, self).with_branch(target_branch) do |start_commit| - our_commit = start_commit.sha - their_commit = source_sha + raise InvalidRef unless branch - raise 'Invalid merge target' unless our_commit - raise 'Invalid merge source' unless their_commit + OperationService.new(user, self).commit_ref(target_ref, from_branch: branch) do + our_commit = branch.target + their_commit = source_sha - merge_index = rugged.merge_commits(our_commit, their_commit) - break if merge_index.conflicts? + create_merge_commit(user, our_commit, their_commit, message) + end + rescue Gitlab::Git::CommitError # when merge_index.conflicts? + nil + rescue Rugged::ReferenceError, InvalidRef + raise ArgumentError, 'Invalid merge source' + end - options = { - parents: [our_commit, their_commit], - tree: merge_index.write_tree(rugged), - message: message, - author: committer, - committer: committer - } + def merge(user, source_sha, target_branch, message) + OperationService.new(user, self).with_branch(target_branch) do |start_commit| + our_commit = start_commit.sha + their_commit = source_sha - commit_id = create_commit(options) + commit_id = create_merge_commit(user, our_commit, their_commit, message) yield commit_id @@ -838,6 +839,26 @@ module Gitlab private + def create_merge_commit(user, our_commit, their_commit, message) + raise 'Invalid merge target' unless our_commit + raise 'Invalid merge source' unless their_commit + + committer = user_to_committer(user) + + merge_index = rugged.merge_commits(our_commit, their_commit) + return if merge_index.conflicts? + + options = { + parents: [our_commit, their_commit], + tree: merge_index.write_tree(rugged), + author: committer, + committer: committer, + message: message + } + + create_commit(options) + end + def run_git(args, chdir: path, env: {}, nice: false, include_stderr: false, lazy_block: nil, &block) cmd = [Gitlab.config.git.bin_path, *args] cmd.unshift("nice") if nice diff --git a/ruby/spec/lib/gitlab/git/repository_spec.rb b/ruby/spec/lib/gitlab/git/repository_spec.rb index 82e69f93584ec8555a2643c8e49a40c589a2cb45..677be7aa960df678ccd407a3bb4e5127bd8e4ce8 100644 --- a/ruby/spec/lib/gitlab/git/repository_spec.rb +++ b/ruby/spec/lib/gitlab/git/repository_spec.rb @@ -467,6 +467,38 @@ describe Gitlab::Git::Repository do # rubocop:disable Metrics/BlockLength end end + describe '#merge_to_ref' do + let(:repository) { mutable_repository } + let(:branch_head) { '6d394385cf567f80a8fd85055db1ab4c5295806f' } + let(:source_sha) { 'cfe32cf61b73a0d5e9f13e774abde7ff789b1660' } + let(:branch) { 'test-master' } + let(:target_ref) { 'refs/merge-requests/999/merge' } + + before do + create_branch(repository, branch, branch_head) + end + + def fetch_target_ref + repository.rugged.references[target_ref] + end + + it 'changes target ref to a merge between source SHA and branch' do + expect(fetch_target_ref).to be_nil + + merge_commit_id = repository.merge_to_ref(user, source_sha, branch, target_ref, 'foo') + + ref = fetch_target_ref + + expect(ref.target.oid).to eq(merge_commit_id) + end + + it 'does not change the branch HEAD' do + expect { repository.merge_to_ref(user, source_sha, branch, target_ref, 'foo') } + .not_to change { repository.find_branch(branch).target } + .from(branch_head) + end + end + describe '#ff_merge' do let(:repository) { mutable_repository } let(:branch_head) { '6d394385cf567f80a8fd85055db1ab4c5295806f' } diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go index 20085a3f86b727b80469bf803fda93e068c3a9f9..c086379fbf19451fe62f23e3faf52784bbb7d9a8 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go @@ -136,6 +136,8 @@ It has these top-level messages: UserCreateTagResponse UserMergeBranchRequest UserMergeBranchResponse + UserMergeToRefRequest + UserMergeToRefResponse OperationBranchUpdate UserFFBranchRequest UserFFBranchResponse diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go index cdfbba8974ab154f7f940a206187fe7450e02d22..45f93c3ba8c4981d5da46fac01a524dcf74f2d6a 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go @@ -49,7 +49,7 @@ func (x UserCommitFilesActionHeader_ActionType) String() string { return proto.EnumName(UserCommitFilesActionHeader_ActionType_name, int32(x)) } func (UserCommitFilesActionHeader_ActionType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor8, []int{19, 0} + return fileDescriptor8, []int{21, 0} } type UserCreateBranchRequest struct { @@ -453,6 +453,92 @@ func (m *UserMergeBranchResponse) GetPreReceiveError() string { return "" } +type UserMergeToRefRequest struct { + Repository *Repository `protobuf:"bytes,1,opt,name=repository" json:"repository,omitempty"` + User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"` + SourceSha string `protobuf:"bytes,3,opt,name=source_sha,json=sourceSha" json:"source_sha,omitempty"` + Branch []byte `protobuf:"bytes,4,opt,name=branch,proto3" json:"branch,omitempty"` + // The merge of source_sha and branch has target_ref as target. + // + // The target_ref is _always_ overwritten when merging source_sha + // and branch. That is, if a second request comes in, target_ref + // will lose its previous state and be updated to the latest merge + // between source_sha and branch. + TargetRef []byte `protobuf:"bytes,5,opt,name=target_ref,json=targetRef,proto3" json:"target_ref,omitempty"` + Message []byte `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` +} + +func (m *UserMergeToRefRequest) Reset() { *m = UserMergeToRefRequest{} } +func (m *UserMergeToRefRequest) String() string { return proto.CompactTextString(m) } +func (*UserMergeToRefRequest) ProtoMessage() {} +func (*UserMergeToRefRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{12} } + +func (m *UserMergeToRefRequest) GetRepository() *Repository { + if m != nil { + return m.Repository + } + return nil +} + +func (m *UserMergeToRefRequest) GetUser() *User { + if m != nil { + return m.User + } + return nil +} + +func (m *UserMergeToRefRequest) GetSourceSha() string { + if m != nil { + return m.SourceSha + } + return "" +} + +func (m *UserMergeToRefRequest) GetBranch() []byte { + if m != nil { + return m.Branch + } + return nil +} + +func (m *UserMergeToRefRequest) GetTargetRef() []byte { + if m != nil { + return m.TargetRef + } + return nil +} + +func (m *UserMergeToRefRequest) GetMessage() []byte { + if m != nil { + return m.Message + } + return nil +} + +type UserMergeToRefResponse struct { + CommitId string `protobuf:"bytes,1,opt,name=commit_id,json=commitId" json:"commit_id,omitempty"` + PreReceiveError string `protobuf:"bytes,2,opt,name=pre_receive_error,json=preReceiveError" json:"pre_receive_error,omitempty"` +} + +func (m *UserMergeToRefResponse) Reset() { *m = UserMergeToRefResponse{} } +func (m *UserMergeToRefResponse) String() string { return proto.CompactTextString(m) } +func (*UserMergeToRefResponse) ProtoMessage() {} +func (*UserMergeToRefResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{13} } + +func (m *UserMergeToRefResponse) GetCommitId() string { + if m != nil { + return m.CommitId + } + return "" +} + +func (m *UserMergeToRefResponse) GetPreReceiveError() string { + if m != nil { + return m.PreReceiveError + } + return "" +} + type OperationBranchUpdate struct { // If this string is non-empty the branch has been updated. CommitId string `protobuf:"bytes,1,opt,name=commit_id,json=commitId" json:"commit_id,omitempty"` @@ -465,7 +551,7 @@ type OperationBranchUpdate struct { func (m *OperationBranchUpdate) Reset() { *m = OperationBranchUpdate{} } func (m *OperationBranchUpdate) String() string { return proto.CompactTextString(m) } func (*OperationBranchUpdate) ProtoMessage() {} -func (*OperationBranchUpdate) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{12} } +func (*OperationBranchUpdate) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{14} } func (m *OperationBranchUpdate) GetCommitId() string { if m != nil { @@ -498,7 +584,7 @@ type UserFFBranchRequest struct { func (m *UserFFBranchRequest) Reset() { *m = UserFFBranchRequest{} } func (m *UserFFBranchRequest) String() string { return proto.CompactTextString(m) } func (*UserFFBranchRequest) ProtoMessage() {} -func (*UserFFBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{13} } +func (*UserFFBranchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{15} } func (m *UserFFBranchRequest) GetRepository() *Repository { if m != nil { @@ -536,7 +622,7 @@ type UserFFBranchResponse struct { func (m *UserFFBranchResponse) Reset() { *m = UserFFBranchResponse{} } func (m *UserFFBranchResponse) String() string { return proto.CompactTextString(m) } func (*UserFFBranchResponse) ProtoMessage() {} -func (*UserFFBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{14} } +func (*UserFFBranchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{16} } func (m *UserFFBranchResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -565,7 +651,7 @@ type UserCherryPickRequest struct { func (m *UserCherryPickRequest) Reset() { *m = UserCherryPickRequest{} } func (m *UserCherryPickRequest) String() string { return proto.CompactTextString(m) } func (*UserCherryPickRequest) ProtoMessage() {} -func (*UserCherryPickRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{15} } +func (*UserCherryPickRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{17} } func (m *UserCherryPickRequest) GetRepository() *Repository { if m != nil { @@ -626,7 +712,7 @@ type UserCherryPickResponse struct { func (m *UserCherryPickResponse) Reset() { *m = UserCherryPickResponse{} } func (m *UserCherryPickResponse) String() string { return proto.CompactTextString(m) } func (*UserCherryPickResponse) ProtoMessage() {} -func (*UserCherryPickResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{16} } +func (*UserCherryPickResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{18} } func (m *UserCherryPickResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -669,7 +755,7 @@ type UserRevertRequest struct { func (m *UserRevertRequest) Reset() { *m = UserRevertRequest{} } func (m *UserRevertRequest) String() string { return proto.CompactTextString(m) } func (*UserRevertRequest) ProtoMessage() {} -func (*UserRevertRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{17} } +func (*UserRevertRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{19} } func (m *UserRevertRequest) GetRepository() *Repository { if m != nil { @@ -730,7 +816,7 @@ type UserRevertResponse struct { func (m *UserRevertResponse) Reset() { *m = UserRevertResponse{} } func (m *UserRevertResponse) String() string { return proto.CompactTextString(m) } func (*UserRevertResponse) ProtoMessage() {} -func (*UserRevertResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{18} } +func (*UserRevertResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{20} } func (m *UserRevertResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -775,7 +861,7 @@ type UserCommitFilesActionHeader struct { func (m *UserCommitFilesActionHeader) Reset() { *m = UserCommitFilesActionHeader{} } func (m *UserCommitFilesActionHeader) String() string { return proto.CompactTextString(m) } func (*UserCommitFilesActionHeader) ProtoMessage() {} -func (*UserCommitFilesActionHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{19} } +func (*UserCommitFilesActionHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{21} } func (m *UserCommitFilesActionHeader) GetAction() UserCommitFilesActionHeader_ActionType { if m != nil { @@ -829,7 +915,7 @@ type UserCommitFilesAction struct { func (m *UserCommitFilesAction) Reset() { *m = UserCommitFilesAction{} } func (m *UserCommitFilesAction) String() string { return proto.CompactTextString(m) } func (*UserCommitFilesAction) ProtoMessage() {} -func (*UserCommitFilesAction) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{20} } +func (*UserCommitFilesAction) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{22} } type isUserCommitFilesAction_UserCommitFilesActionPayload interface{ isUserCommitFilesAction_UserCommitFilesActionPayload() } @@ -948,7 +1034,7 @@ type UserCommitFilesRequestHeader struct { func (m *UserCommitFilesRequestHeader) Reset() { *m = UserCommitFilesRequestHeader{} } func (m *UserCommitFilesRequestHeader) String() string { return proto.CompactTextString(m) } func (*UserCommitFilesRequestHeader) ProtoMessage() {} -func (*UserCommitFilesRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{21} } +func (*UserCommitFilesRequestHeader) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{23} } func (m *UserCommitFilesRequestHeader) GetRepository() *Repository { if m != nil { @@ -1016,7 +1102,7 @@ type UserCommitFilesRequest struct { func (m *UserCommitFilesRequest) Reset() { *m = UserCommitFilesRequest{} } func (m *UserCommitFilesRequest) String() string { return proto.CompactTextString(m) } func (*UserCommitFilesRequest) ProtoMessage() {} -func (*UserCommitFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{22} } +func (*UserCommitFilesRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{24} } type isUserCommitFilesRequest_UserCommitFilesRequestPayload interface{ isUserCommitFilesRequest_UserCommitFilesRequestPayload() } @@ -1134,7 +1220,7 @@ type UserCommitFilesResponse struct { func (m *UserCommitFilesResponse) Reset() { *m = UserCommitFilesResponse{} } func (m *UserCommitFilesResponse) String() string { return proto.CompactTextString(m) } func (*UserCommitFilesResponse) ProtoMessage() {} -func (*UserCommitFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{23} } +func (*UserCommitFilesResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{25} } func (m *UserCommitFilesResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -1170,7 +1256,7 @@ type UserRebaseRequest struct { func (m *UserRebaseRequest) Reset() { *m = UserRebaseRequest{} } func (m *UserRebaseRequest) String() string { return proto.CompactTextString(m) } func (*UserRebaseRequest) ProtoMessage() {} -func (*UserRebaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{24} } +func (*UserRebaseRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{26} } func (m *UserRebaseRequest) GetRepository() *Repository { if m != nil { @@ -1230,7 +1316,7 @@ type UserRebaseResponse struct { func (m *UserRebaseResponse) Reset() { *m = UserRebaseResponse{} } func (m *UserRebaseResponse) String() string { return proto.CompactTextString(m) } func (*UserRebaseResponse) ProtoMessage() {} -func (*UserRebaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{25} } +func (*UserRebaseResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{27} } func (m *UserRebaseResponse) GetRebaseSha() string { if m != nil { @@ -1267,7 +1353,7 @@ type UserSquashRequest struct { func (m *UserSquashRequest) Reset() { *m = UserSquashRequest{} } func (m *UserSquashRequest) String() string { return proto.CompactTextString(m) } func (*UserSquashRequest) ProtoMessage() {} -func (*UserSquashRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{26} } +func (*UserSquashRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{28} } func (m *UserSquashRequest) GetRepository() *Repository { if m != nil { @@ -1333,7 +1419,7 @@ type UserSquashResponse struct { func (m *UserSquashResponse) Reset() { *m = UserSquashResponse{} } func (m *UserSquashResponse) String() string { return proto.CompactTextString(m) } func (*UserSquashResponse) ProtoMessage() {} -func (*UserSquashResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{27} } +func (*UserSquashResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{29} } func (m *UserSquashResponse) GetSquashSha() string { if m != nil { @@ -1359,7 +1445,7 @@ type UserApplyPatchRequest struct { func (m *UserApplyPatchRequest) Reset() { *m = UserApplyPatchRequest{} } func (m *UserApplyPatchRequest) String() string { return proto.CompactTextString(m) } func (*UserApplyPatchRequest) ProtoMessage() {} -func (*UserApplyPatchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{28} } +func (*UserApplyPatchRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{30} } type isUserApplyPatchRequest_UserApplyPatchRequestPayload interface{ isUserApplyPatchRequest_UserApplyPatchRequestPayload() } @@ -1474,7 +1560,7 @@ func (m *UserApplyPatchRequest_Header) Reset() { *m = UserApplyPatchRequ func (m *UserApplyPatchRequest_Header) String() string { return proto.CompactTextString(m) } func (*UserApplyPatchRequest_Header) ProtoMessage() {} func (*UserApplyPatchRequest_Header) Descriptor() ([]byte, []int) { - return fileDescriptor8, []int{28, 0} + return fileDescriptor8, []int{30, 0} } func (m *UserApplyPatchRequest_Header) GetRepository() *Repository { @@ -1505,7 +1591,7 @@ type UserApplyPatchResponse struct { func (m *UserApplyPatchResponse) Reset() { *m = UserApplyPatchResponse{} } func (m *UserApplyPatchResponse) String() string { return proto.CompactTextString(m) } func (*UserApplyPatchResponse) ProtoMessage() {} -func (*UserApplyPatchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{29} } +func (*UserApplyPatchResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{31} } func (m *UserApplyPatchResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -1526,7 +1612,7 @@ type UserUpdateSubmoduleRequest struct { func (m *UserUpdateSubmoduleRequest) Reset() { *m = UserUpdateSubmoduleRequest{} } func (m *UserUpdateSubmoduleRequest) String() string { return proto.CompactTextString(m) } func (*UserUpdateSubmoduleRequest) ProtoMessage() {} -func (*UserUpdateSubmoduleRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{30} } +func (*UserUpdateSubmoduleRequest) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{32} } func (m *UserUpdateSubmoduleRequest) GetRepository() *Repository { if m != nil { @@ -1579,7 +1665,7 @@ type UserUpdateSubmoduleResponse struct { func (m *UserUpdateSubmoduleResponse) Reset() { *m = UserUpdateSubmoduleResponse{} } func (m *UserUpdateSubmoduleResponse) String() string { return proto.CompactTextString(m) } func (*UserUpdateSubmoduleResponse) ProtoMessage() {} -func (*UserUpdateSubmoduleResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{31} } +func (*UserUpdateSubmoduleResponse) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{33} } func (m *UserUpdateSubmoduleResponse) GetBranchUpdate() *OperationBranchUpdate { if m != nil { @@ -1615,6 +1701,8 @@ func init() { proto.RegisterType((*UserCreateTagResponse)(nil), "gitaly.UserCreateTagResponse") proto.RegisterType((*UserMergeBranchRequest)(nil), "gitaly.UserMergeBranchRequest") proto.RegisterType((*UserMergeBranchResponse)(nil), "gitaly.UserMergeBranchResponse") + proto.RegisterType((*UserMergeToRefRequest)(nil), "gitaly.UserMergeToRefRequest") + proto.RegisterType((*UserMergeToRefResponse)(nil), "gitaly.UserMergeToRefResponse") proto.RegisterType((*OperationBranchUpdate)(nil), "gitaly.OperationBranchUpdate") proto.RegisterType((*UserFFBranchRequest)(nil), "gitaly.UserFFBranchRequest") proto.RegisterType((*UserFFBranchResponse)(nil), "gitaly.UserFFBranchResponse") @@ -1655,6 +1743,7 @@ type OperationServiceClient interface { UserDeleteBranch(ctx context.Context, in *UserDeleteBranchRequest, opts ...grpc.CallOption) (*UserDeleteBranchResponse, error) UserCreateTag(ctx context.Context, in *UserCreateTagRequest, opts ...grpc.CallOption) (*UserCreateTagResponse, error) UserDeleteTag(ctx context.Context, in *UserDeleteTagRequest, opts ...grpc.CallOption) (*UserDeleteTagResponse, error) + UserMergeToRef(ctx context.Context, in *UserMergeToRefRequest, opts ...grpc.CallOption) (*UserMergeToRefResponse, error) UserMergeBranch(ctx context.Context, opts ...grpc.CallOption) (OperationService_UserMergeBranchClient, error) UserFFBranch(ctx context.Context, in *UserFFBranchRequest, opts ...grpc.CallOption) (*UserFFBranchResponse, error) UserCherryPick(ctx context.Context, in *UserCherryPickRequest, opts ...grpc.CallOption) (*UserCherryPickResponse, error) @@ -1719,6 +1808,15 @@ func (c *operationServiceClient) UserDeleteTag(ctx context.Context, in *UserDele return out, nil } +func (c *operationServiceClient) UserMergeToRef(ctx context.Context, in *UserMergeToRefRequest, opts ...grpc.CallOption) (*UserMergeToRefResponse, error) { + out := new(UserMergeToRefResponse) + err := grpc.Invoke(ctx, "/gitaly.OperationService/UserMergeToRef", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *operationServiceClient) UserMergeBranch(ctx context.Context, opts ...grpc.CallOption) (OperationService_UserMergeBranchClient, error) { stream, err := grpc.NewClientStream(ctx, &_OperationService_serviceDesc.Streams[0], c.cc, "/gitaly.OperationService/UserMergeBranch", opts...) if err != nil { @@ -1880,6 +1978,7 @@ type OperationServiceServer interface { UserDeleteBranch(context.Context, *UserDeleteBranchRequest) (*UserDeleteBranchResponse, error) UserCreateTag(context.Context, *UserCreateTagRequest) (*UserCreateTagResponse, error) UserDeleteTag(context.Context, *UserDeleteTagRequest) (*UserDeleteTagResponse, error) + UserMergeToRef(context.Context, *UserMergeToRefRequest) (*UserMergeToRefResponse, error) UserMergeBranch(OperationService_UserMergeBranchServer) error UserFFBranch(context.Context, *UserFFBranchRequest) (*UserFFBranchResponse, error) UserCherryPick(context.Context, *UserCherryPickRequest) (*UserCherryPickResponse, error) @@ -1985,6 +2084,24 @@ func _OperationService_UserDeleteTag_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _OperationService_UserMergeToRef_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UserMergeToRefRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperationServiceServer).UserMergeToRef(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gitaly.OperationService/UserMergeToRef", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperationServiceServer).UserMergeToRef(ctx, req.(*UserMergeToRefRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _OperationService_UserMergeBranch_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(OperationServiceServer).UserMergeBranch(&operationServiceUserMergeBranchServer{stream}) } @@ -2195,6 +2312,10 @@ var _OperationService_serviceDesc = grpc.ServiceDesc{ MethodName: "UserDeleteTag", Handler: _OperationService_UserDeleteTag_Handler, }, + { + MethodName: "UserMergeToRef", + Handler: _OperationService_UserMergeToRef_Handler, + }, { MethodName: "UserFFBranch", Handler: _OperationService_UserFFBranch_Handler, @@ -2244,114 +2365,119 @@ var _OperationService_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("operations.proto", fileDescriptor8) } var fileDescriptor8 = []byte{ - // 1740 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcf, 0x6f, 0x1b, 0xd5, - 0x13, 0xf7, 0xda, 0xce, 0xc6, 0x99, 0x38, 0x89, 0xf3, 0xfa, 0x2b, 0x75, 0x93, 0x26, 0xdd, 0xb4, - 0xdf, 0x6f, 0x5b, 0x7d, 0x15, 0x7d, 0x15, 0x10, 0x9c, 0x0a, 0xca, 0x0f, 0x87, 0xb4, 0x90, 0x36, - 0x6c, 0x92, 0xc2, 0x01, 0x69, 0xd9, 0xd8, 0xaf, 0xf6, 0x0a, 0xdb, 0xeb, 0xbe, 0x5d, 0x87, 0x06, - 0x21, 0x2e, 0x08, 0xb8, 0x72, 0xe2, 0x82, 0x90, 0x40, 0xdc, 0x10, 0x17, 0x2e, 0x1c, 0x38, 0x20, - 0xae, 0x70, 0xed, 0x81, 0xff, 0x82, 0x1b, 0x77, 0xf4, 0xde, 0xcc, 0x7a, 0x7f, 0x3a, 0x4a, 0x4b, - 0xa2, 0x56, 0x88, 0x5b, 0x3c, 0x33, 0x3b, 0x6f, 0xe6, 0x33, 0xf3, 0x66, 0xe6, 0x4d, 0xa0, 0xe2, - 0xf6, 0xb8, 0xb0, 0x7d, 0xc7, 0xed, 0x7a, 0x4b, 0x3d, 0xe1, 0xfa, 0x2e, 0xd3, 0x9b, 0x8e, 0x6f, - 0xb7, 0x0f, 0xab, 0x65, 0xaf, 0x65, 0x0b, 0xde, 0x40, 0xaa, 0xf1, 0x83, 0x06, 0x17, 0xf6, 0x3c, - 0x2e, 0xd6, 0x04, 0xb7, 0x7d, 0xbe, 0x2a, 0xec, 0x6e, 0xbd, 0x65, 0xf2, 0x87, 0x7d, 0xee, 0xf9, - 0x6c, 0x19, 0x40, 0xf0, 0x9e, 0xeb, 0x39, 0xbe, 0x2b, 0x0e, 0x67, 0xb4, 0x05, 0xed, 0xfa, 0xf8, - 0x32, 0x5b, 0x42, 0x35, 0x4b, 0xe6, 0x80, 0x63, 0x46, 0xa4, 0xd8, 0x3c, 0x8c, 0xef, 0x2b, 0x25, - 0x56, 0xd7, 0xee, 0xf0, 0x99, 0xfc, 0x82, 0x76, 0xbd, 0x6c, 0x02, 0x92, 0xee, 0xda, 0x1d, 0xce, - 0x16, 0xa0, 0xd8, 0xf7, 0xb8, 0x98, 0x29, 0x28, 0x75, 0xe5, 0x40, 0x9d, 0xb4, 0xc1, 0x54, 0x1c, - 0xa9, 0xc2, 0xf3, 0x6d, 0xe1, 0x5b, 0x3d, 0xd7, 0xe9, 0xfa, 0x33, 0x45, 0x54, 0xa1, 0x48, 0xdb, - 0x92, 0x62, 0x74, 0x61, 0x26, 0x6d, 0xb2, 0xd7, 0x73, 0xbb, 0x1e, 0x67, 0xff, 0x01, 0x1d, 0x0f, - 0x23, 0x7b, 0x27, 0x83, 0x03, 0x48, 0x8e, 0xb8, 0xec, 0x26, 0x4c, 0xf7, 0x04, 0xb7, 0x04, 0xaf, - 0x73, 0xe7, 0x80, 0x5b, 0x5c, 0x08, 0x57, 0x28, 0x6b, 0xc7, 0xcc, 0xa9, 0x9e, 0xe0, 0x26, 0xd2, - 0x6b, 0x92, 0x6c, 0xfc, 0x42, 0x18, 0xed, 0xf5, 0x1a, 0xcf, 0x0b, 0x46, 0xe7, 0x41, 0xef, 0xf2, - 0xf7, 0x05, 0x3f, 0x20, 0x78, 0xe8, 0x97, 0xa4, 0xbb, 0xed, 0x86, 0xa4, 0x8f, 0x20, 0x1d, 0x7f, - 0x19, 0x1b, 0x08, 0x59, 0xdc, 0x03, 0x82, 0x2c, 0x13, 0x0a, 0x2d, 0x1b, 0x8a, 0xcf, 0x09, 0x8a, - 0x75, 0xde, 0xe6, 0xcf, 0x07, 0x14, 0x81, 0x6b, 0x71, 0x8b, 0x9e, 0xc2, 0xb5, 0xcf, 0x34, 0x38, - 0x1b, 0x2a, 0xda, 0xb5, 0x9b, 0x7f, 0xc7, 0xaf, 0x8b, 0x50, 0xf2, 0xed, 0x66, 0xd4, 0xa9, 0x51, - 0xdf, 0x6e, 0x1e, 0xd3, 0xa3, 0x35, 0x38, 0x97, 0x30, 0xe4, 0x29, 0xdc, 0xf9, 0x8d, 0xdc, 0xc1, - 0x5b, 0xf2, 0x0c, 0xdd, 0x61, 0xff, 0x85, 0x29, 0xdf, 0x16, 0x4d, 0xee, 0x5b, 0x82, 0x1f, 0x38, - 0x9e, 0xe3, 0x76, 0x29, 0x69, 0x27, 0x91, 0x6c, 0x12, 0x95, 0xcd, 0xc0, 0x68, 0x87, 0x7b, 0x9e, - 0xdd, 0xe4, 0x94, 0xbd, 0xc1, 0x4f, 0xe3, 0x03, 0x44, 0x24, 0xe2, 0x0b, 0x21, 0x32, 0x07, 0x05, - 0xdf, 0x6e, 0x92, 0x17, 0xe3, 0xc1, 0xe1, 0x52, 0x42, 0xd2, 0xe5, 0x75, 0xe0, 0x8f, 0x1c, 0xcf, - 0xf7, 0x94, 0xd5, 0x25, 0x93, 0x7e, 0x65, 0x03, 0x59, 0xc8, 0x06, 0xf2, 0xb1, 0x06, 0xe7, 0xe5, - 0xe1, 0x5b, 0x5c, 0x34, 0x4f, 0x20, 0xe3, 0x03, 0xbc, 0xf2, 0x43, 0xf1, 0xba, 0x04, 0x63, 0x75, - 0xb7, 0xd3, 0x71, 0x7c, 0xcb, 0x69, 0x90, 0x51, 0x25, 0x24, 0xdc, 0x6e, 0x48, 0x8f, 0xa8, 0xbe, - 0xd1, 0xc5, 0xa7, 0x7a, 0x36, 0x14, 0x3b, 0x76, 0x16, 0x46, 0xec, 0x5e, 0xaf, 0x7d, 0x38, 0xa3, - 0x2b, 0x08, 0xf0, 0x87, 0xf1, 0x3d, 0x5d, 0xe4, 0x98, 0x57, 0x04, 0x6a, 0xcc, 0x00, 0x2d, 0x61, - 0xc0, 0x2a, 0x4c, 0xd0, 0x8d, 0xed, 0xab, 0x62, 0x42, 0x81, 0x9f, 0x0b, 0x1c, 0xb9, 0x17, 0xf4, - 0x1d, 0x54, 0x8a, 0x15, 0xc7, 0x2c, 0xef, 0x47, 0x7e, 0x65, 0xc3, 0x5f, 0xcc, 0x84, 0xff, 0x4e, - 0xb1, 0x94, 0xaf, 0x14, 0x8c, 0x8f, 0xe0, 0x5c, 0xa6, 0xe2, 0xa3, 0x6d, 0xbd, 0x02, 0x65, 0x89, - 0xbc, 0x55, 0x57, 0x79, 0xd3, 0xa0, 0x24, 0x18, 0x97, 0x34, 0x4c, 0xa5, 0x06, 0xbb, 0x06, 0x93, - 0xe4, 0x4e, 0x20, 0x54, 0x50, 0x42, 0xe4, 0x24, 0x89, 0x19, 0x5f, 0x6b, 0x70, 0x46, 0xc2, 0xb5, - 0xb1, 0xf1, 0xbc, 0x66, 0x80, 0xf1, 0x29, 0x5d, 0xf8, 0xd0, 0x44, 0x0a, 0x67, 0x2a, 0x62, 0xda, - 0x09, 0x45, 0x6c, 0x48, 0xbb, 0xfc, 0x39, 0x4f, 0xb7, 0xb5, 0xc5, 0x85, 0x38, 0xdc, 0x76, 0xea, - 0xef, 0x9d, 0x2e, 0x5a, 0x37, 0x40, 0x47, 0x70, 0x28, 0x15, 0xa7, 0x03, 0x99, 0xd7, 0x1c, 0x7f, - 0x4d, 0x31, 0x4c, 0x12, 0x48, 0xb6, 0x9b, 0x62, 0xaa, 0xdd, 0x0c, 0xbf, 0x46, 0x37, 0x61, 0x1a, - 0xa7, 0x92, 0xa8, 0x02, 0x5d, 0xc9, 0x4c, 0x29, 0xc6, 0x6a, 0xa8, 0xe5, 0x16, 0x54, 0x50, 0x36, - 0xe2, 0xed, 0xe8, 0x50, 0x6f, 0xf1, 0xf3, 0x90, 0x60, 0xfc, 0x4e, 0x15, 0x27, 0x0a, 0xe0, 0xc9, - 0xc6, 0x12, 0x73, 0xdd, 0xf2, 0x05, 0x4f, 0xc4, 0x12, 0x19, 0xbb, 0x82, 0x63, 0x2c, 0xe5, 0x0d, - 0xa2, 0x4c, 0x8c, 0xd6, 0xc8, 0x71, 0xa4, 0xa1, 0xc8, 0x13, 0x5c, 0x66, 0xe3, 0xa7, 0x3c, 0x4c, - 0xab, 0xc8, 0xf1, 0x03, 0x2e, 0x5d, 0xfe, 0x37, 0x2d, 0x9e, 0x20, 0x2d, 0x1e, 0x6b, 0xc0, 0xa2, - 0xe0, 0xfd, 0x33, 0x52, 0xe2, 0xcf, 0x3c, 0x5c, 0x52, 0xc9, 0xae, 0xbe, 0xdf, 0x70, 0xda, 0xdc, - 0x5b, 0xa9, 0x4b, 0x73, 0x37, 0xb9, 0xdd, 0xe0, 0x82, 0x6d, 0x80, 0x6e, 0xab, 0xdf, 0xca, 0xaf, - 0xc9, 0xe5, 0xa5, 0x68, 0xa8, 0x87, 0x7c, 0xb4, 0x84, 0x3f, 0x76, 0x0f, 0x7b, 0xdc, 0xa4, 0xaf, - 0x65, 0x4d, 0x7d, 0xe0, 0xb4, 0xb9, 0xd5, 0xb3, 0xfd, 0x16, 0xcd, 0x30, 0x25, 0x49, 0xd8, 0xb6, - 0xfd, 0x16, 0x5b, 0x84, 0x89, 0x9e, 0x1c, 0x4e, 0xdc, 0xbe, 0x87, 0x02, 0x05, 0x25, 0x50, 0x0e, - 0x88, 0x4a, 0x48, 0xb6, 0x0a, 0xdb, 0xe3, 0x2f, 0xbd, 0x68, 0xd5, 0xdd, 0xae, 0xcf, 0xe9, 0x69, - 0x22, 0x5b, 0x85, 0xa2, 0xae, 0x21, 0x91, 0xdd, 0x80, 0x0a, 0x7f, 0xc4, 0xeb, 0x7d, 0x9f, 0x5b, - 0x52, 0x7f, 0xc7, 0x6d, 0x60, 0xd2, 0x94, 0xcc, 0x29, 0xa2, 0x6f, 0x10, 0x59, 0x1e, 0xeb, 0x74, - 0x1f, 0x70, 0x31, 0x50, 0x88, 0x2d, 0xba, 0xac, 0x88, 0xa4, 0xcf, 0xd8, 0x03, 0x08, 0xdd, 0x61, - 0x00, 0xfa, 0x9a, 0x59, 0x5b, 0xd9, 0xad, 0x55, 0x72, 0x6c, 0x12, 0x00, 0xff, 0xb6, 0xd6, 0x6f, - 0x9b, 0x15, 0x4d, 0xf2, 0xf6, 0xb6, 0xd7, 0x25, 0x2f, 0xcf, 0x4a, 0x50, 0xdc, 0xba, 0x77, 0xbf, - 0x56, 0x29, 0x48, 0xea, 0x7a, 0xed, 0x8d, 0xda, 0x6e, 0xad, 0x52, 0x64, 0x63, 0x30, 0xb2, 0xb6, - 0xb9, 0x75, 0x6f, 0xbd, 0x32, 0x62, 0x7c, 0xa1, 0x51, 0x95, 0x4e, 0x42, 0xc8, 0x6e, 0x81, 0xde, - 0x52, 0x30, 0x52, 0x26, 0x2d, 0x1e, 0x03, 0xf1, 0xcd, 0x9c, 0x49, 0x1f, 0xb1, 0x2a, 0x8c, 0x06, - 0xee, 0x28, 0x98, 0x37, 0x73, 0x66, 0x40, 0x58, 0x35, 0x60, 0x41, 0xde, 0x4d, 0x8b, 0x12, 0x48, - 0xe2, 0xe3, 0x59, 0x18, 0x20, 0xab, 0x67, 0x1f, 0xb6, 0x5d, 0xbb, 0x61, 0x7c, 0x52, 0x80, 0xd9, - 0xc4, 0x49, 0x54, 0x28, 0x28, 0x23, 0x4e, 0xa7, 0x5c, 0x24, 0x6a, 0x40, 0x21, 0x55, 0x03, 0xae, - 0xc1, 0x24, 0x99, 0x1d, 0x94, 0x02, 0xac, 0x13, 0x13, 0x48, 0xdd, 0xa2, 0x82, 0xf0, 0x3f, 0x60, - 0x24, 0x66, 0xf7, 0xfd, 0x96, 0x2b, 0x50, 0x1d, 0x56, 0x8d, 0x0a, 0x72, 0x56, 0x14, 0x43, 0x29, - 0x5d, 0x82, 0x33, 0x71, 0x69, 0xde, 0xb1, 0x9d, 0x36, 0x15, 0x90, 0xe9, 0xa8, 0x78, 0x4d, 0x32, - 0xb2, 0xcb, 0xcd, 0xe8, 0xf1, 0xcb, 0x4d, 0xe9, 0xf8, 0xe5, 0xe6, 0xc7, 0xa0, 0x0b, 0xa5, 0xe2, - 0xc0, 0x5e, 0x49, 0x64, 0xc8, 0xd5, 0x21, 0x19, 0x12, 0x8b, 0x5b, 0x24, 0x45, 0x5e, 0x1e, 0xdc, - 0xe9, 0x7c, 0xbc, 0x56, 0x65, 0x67, 0x58, 0x2e, 0xb8, 0xc4, 0xab, 0x8b, 0x70, 0x25, 0x9d, 0x3f, - 0x02, 0x4f, 0x19, 0x24, 0xd0, 0x77, 0xc1, 0x4a, 0x23, 0x6a, 0xc8, 0x09, 0x16, 0xcb, 0x79, 0x18, - 0x77, 0xba, 0x0d, 0xfe, 0x28, 0x56, 0x26, 0x41, 0x91, 0x8e, 0x28, 0x7f, 0x43, 0x5e, 0x17, 0xdf, - 0x0e, 0x3a, 0xa2, 0xac, 0x22, 0xa7, 0x3e, 0x56, 0x0a, 0x75, 0x4c, 0x64, 0xac, 0x44, 0xc2, 0x11, - 0x0f, 0x8b, 0x39, 0xa0, 0x4b, 0x60, 0x79, 0x2d, 0x5b, 0xe5, 0xf1, 0x98, 0x39, 0x86, 0x94, 0x9d, - 0x96, 0xcd, 0x5e, 0x85, 0x69, 0xc1, 0x3b, 0xae, 0xcf, 0xa3, 0x59, 0xa6, 0x0f, 0x35, 0xb8, 0x82, - 0xc2, 0x21, 0x45, 0xd6, 0x40, 0x52, 0x40, 0xc7, 0x63, 0x36, 0x97, 0x91, 0x88, 0x61, 0x30, 0x3e, - 0x0c, 0x3a, 0x1f, 0x82, 0x34, 0x78, 0xfc, 0x01, 0xf9, 0x23, 0x4d, 0xc3, 0xe1, 0x9f, 0x3c, 0x94, - 0xa6, 0x3d, 0xc1, 0xcc, 0x2a, 0xa1, 0x69, 0x26, 0x3a, 0x5a, 0xa9, 0x49, 0xed, 0xcc, 0xf8, 0x86, - 0x62, 0xb4, 0xf3, 0xb0, 0x6f, 0x7b, 0xa7, 0x3f, 0xfa, 0x7b, 0xea, 0x98, 0x48, 0x8c, 0x90, 0x70, - 0x44, 0x8c, 0xe4, 0x47, 0xea, 0xa6, 0x87, 0x21, 0x2a, 0x29, 0x82, 0x84, 0xe1, 0x02, 0x8c, 0xf2, - 0x6e, 0x43, 0xb1, 0x74, 0xc5, 0xd2, 0x79, 0xb7, 0x21, 0x19, 0x57, 0x41, 0xc7, 0xa2, 0x43, 0x43, - 0x48, 0xdc, 0x1c, 0xe2, 0x65, 0x94, 0xbd, 0x52, 0x46, 0xd9, 0x33, 0x1c, 0x8c, 0x50, 0x00, 0x51, - 0x18, 0x21, 0xf2, 0x26, 0x12, 0x21, 0xa4, 0x48, 0x0b, 0x8e, 0x42, 0x1d, 0x1f, 0x7e, 0x66, 0x3a, - 0x84, 0xc6, 0x57, 0xf4, 0xbe, 0x58, 0x91, 0x0f, 0xd9, 0x6d, 0xdb, 0x0f, 0x5f, 0x63, 0x47, 0xd6, - 0xa5, 0x94, 0xf8, 0x52, 0x56, 0xeb, 0xea, 0x49, 0x01, 0xee, 0x85, 0xad, 0x8b, 0x08, 0xd5, 0x8f, - 0x35, 0xd0, 0x4f, 0xb5, 0x01, 0x2d, 0xc2, 0x04, 0xad, 0x49, 0x28, 0xc6, 0x34, 0x83, 0x20, 0x11, - 0x2f, 0xc2, 0xa0, 0x81, 0xaa, 0x47, 0xbc, 0xa5, 0x6c, 0x4b, 0xd5, 0xbf, 0x77, 0xb0, 0x6e, 0x47, - 0xfd, 0x3d, 0xb9, 0xea, 0x67, 0xfc, 0xa1, 0x41, 0x35, 0x5c, 0x25, 0xee, 0xf4, 0xf7, 0x3b, 0x6e, - 0xa3, 0xdf, 0x3e, 0xe5, 0xca, 0x35, 0x07, 0x40, 0x49, 0x28, 0xf3, 0x08, 0x33, 0x85, 0x9e, 0xc8, - 0x32, 0x8f, 0x86, 0xdd, 0x8b, 0x59, 0x18, 0xf3, 0x02, 0x03, 0xa9, 0x05, 0x87, 0x84, 0x8c, 0xcc, - 0xd6, 0xb3, 0x32, 0xfb, 0x57, 0x0d, 0x07, 0xd4, 0x94, 0xc3, 0xcf, 0xe6, 0x79, 0x9d, 0x9a, 0xbf, - 0x8b, 0xa9, 0xf9, 0xfb, 0x4e, 0xb1, 0x54, 0xa8, 0x14, 0xcd, 0xf4, 0x48, 0xbf, 0xfc, 0xe5, 0x18, - 0x54, 0x06, 0xf6, 0xec, 0x70, 0x71, 0xe0, 0xd4, 0x39, 0x7b, 0x0b, 0x2a, 0xc9, 0x75, 0x3a, 0x9b, - 0x8f, 0x75, 0xe4, 0xf4, 0xff, 0x06, 0xaa, 0x0b, 0xc3, 0x05, 0x10, 0x17, 0x23, 0x17, 0x28, 0x8e, - 0x2e, 0x9d, 0xe3, 0x8a, 0x33, 0x16, 0xea, 0x71, 0xc5, 0x59, 0xfb, 0xea, 0x50, 0x71, 0x74, 0xe5, - 0x1b, 0x57, 0x9c, 0xb1, 0x9e, 0x8e, 0x2b, 0xce, 0xda, 0x16, 0x1b, 0x39, 0x76, 0x17, 0x26, 0x62, - 0x7b, 0x46, 0x36, 0x9b, 0x76, 0x33, 0x5c, 0xa5, 0x56, 0xe7, 0x86, 0x70, 0x93, 0xfa, 0x06, 0x9b, - 0xdc, 0xb8, 0xbe, 0xe4, 0xa6, 0x39, 0xae, 0x2f, 0xb5, 0xfe, 0x35, 0x72, 0xec, 0x6d, 0x98, 0x4a, - 0x2c, 0xed, 0xd8, 0xe5, 0xe8, 0x37, 0xe9, 0x1d, 0x65, 0x75, 0x7e, 0x28, 0x3f, 0xd0, 0x7a, 0x5d, - 0xfb, 0xbf, 0xc6, 0x5e, 0x87, 0x72, 0x74, 0x79, 0xc4, 0x2e, 0x45, 0x3f, 0x4b, 0x6c, 0xbd, 0xaa, - 0xb3, 0xd9, 0xcc, 0x81, 0x99, 0x6f, 0xc2, 0x64, 0x7c, 0x7f, 0xc1, 0xe2, 0x48, 0x25, 0x17, 0x43, - 0xd5, 0xcb, 0xc3, 0xd8, 0x03, 0x95, 0x35, 0x80, 0xf0, 0xed, 0xcb, 0x2e, 0xc6, 0x6a, 0x44, 0x74, - 0x99, 0x50, 0xad, 0x66, 0xb1, 0x06, 0x6a, 0xee, 0x23, 0x80, 0x91, 0xd1, 0x30, 0x0e, 0x60, 0x7a, - 0x78, 0x8d, 0x03, 0x98, 0x31, 0x53, 0x4a, 0x00, 0x43, 0xf3, 0xe4, 0xf0, 0x91, 0x34, 0x2f, 0x32, - 0xd9, 0x25, 0xcd, 0x8b, 0xce, 0x33, 0xa1, 0x97, 0xd8, 0x45, 0xe3, 0x6a, 0x62, 0xc3, 0x47, 0x5c, - 0x4d, 0xbc, 0xe9, 0x1a, 0x39, 0xb6, 0x83, 0xf8, 0x87, 0x1d, 0x20, 0x8e, 0x7f, 0xaa, 0x13, 0xc6, - 0xf1, 0x4f, 0x37, 0x0e, 0xe5, 0xe2, 0xbb, 0xb8, 0x01, 0x4d, 0x94, 0x41, 0x66, 0xa4, 0xef, 0x6b, - 0xb2, 0x29, 0x54, 0x17, 0x8f, 0x94, 0x09, 0xce, 0xd8, 0xd7, 0xd5, 0xbf, 0x24, 0x5f, 0xf8, 0x2b, - 0x00, 0x00, 0xff, 0xff, 0x35, 0x0f, 0xad, 0x07, 0xbc, 0x1c, 0x00, 0x00, + // 1809 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6f, 0x23, 0x4b, + 0x11, 0xf7, 0xd8, 0xce, 0xc4, 0xa9, 0x38, 0x89, 0xd3, 0xef, 0x2b, 0xcf, 0x9b, 0x90, 0xbc, 0xc9, + 0x7b, 0xb0, 0xbb, 0x42, 0x11, 0x0a, 0x08, 0x4e, 0x0b, 0xca, 0x87, 0x43, 0x76, 0x21, 0xbb, 0x61, + 0x92, 0x2c, 0x1c, 0x90, 0x86, 0x89, 0xdd, 0xb1, 0x47, 0xd8, 0x9e, 0xd9, 0x9e, 0x71, 0xd8, 0x20, + 0xc4, 0x05, 0x01, 0x57, 0x4e, 0xdc, 0x90, 0x40, 0xdc, 0x10, 0x17, 0x2e, 0x1c, 0x38, 0x20, 0xae, + 0x70, 0xdd, 0x03, 0x27, 0xfe, 0x85, 0xbd, 0x71, 0x47, 0xdd, 0x55, 0xe3, 0x99, 0x9e, 0x19, 0x5b, + 0xc9, 0x92, 0x68, 0x57, 0x88, 0x9b, 0xa7, 0xba, 0xba, 0xba, 0xea, 0x57, 0xd5, 0x55, 0xd5, 0x65, + 0x68, 0xf8, 0x01, 0x17, 0x6e, 0xe4, 0xf9, 0xc3, 0x70, 0x2b, 0x10, 0x7e, 0xe4, 0x33, 0xb3, 0xeb, + 0x45, 0x6e, 0xff, 0xaa, 0x59, 0x0f, 0x7b, 0xae, 0xe0, 0x1d, 0xa4, 0x5a, 0x7f, 0x32, 0xe0, 0xa3, + 0xb3, 0x90, 0x8b, 0x3d, 0xc1, 0xdd, 0x88, 0xef, 0x0a, 0x77, 0xd8, 0xee, 0xd9, 0xfc, 0xc5, 0x88, + 0x87, 0x11, 0xdb, 0x06, 0x10, 0x3c, 0xf0, 0x43, 0x2f, 0xf2, 0xc5, 0xd5, 0x8a, 0xb1, 0x61, 0xdc, + 0x9f, 0xdf, 0x66, 0x5b, 0x28, 0x66, 0xcb, 0x1e, 0xaf, 0xd8, 0x29, 0x2e, 0xb6, 0x0e, 0xf3, 0xe7, + 0x4a, 0x88, 0x33, 0x74, 0x07, 0x7c, 0xa5, 0xbc, 0x61, 0xdc, 0xaf, 0xdb, 0x80, 0xa4, 0xa7, 0xee, + 0x80, 0xb3, 0x0d, 0xa8, 0x8e, 0x42, 0x2e, 0x56, 0x2a, 0x4a, 0x5c, 0x3d, 0x16, 0x27, 0x75, 0xb0, + 0xd5, 0x8a, 0x14, 0x11, 0x46, 0xae, 0x88, 0x9c, 0xc0, 0xf7, 0x86, 0xd1, 0x4a, 0x15, 0x45, 0x28, + 0xd2, 0xb1, 0xa4, 0x58, 0x43, 0x58, 0xc9, 0xab, 0x1c, 0x06, 0xfe, 0x30, 0xe4, 0xec, 0xf3, 0x60, + 0xe2, 0x61, 0xa4, 0xef, 0x62, 0x7c, 0x00, 0xf1, 0xd1, 0x2a, 0x7b, 0x08, 0xcb, 0x81, 0xe0, 0x8e, + 0xe0, 0x6d, 0xee, 0x5d, 0x72, 0x87, 0x0b, 0xe1, 0x0b, 0xa5, 0xed, 0x9c, 0xbd, 0x14, 0x08, 0x6e, + 0x23, 0xbd, 0x25, 0xc9, 0xd6, 0xdf, 0x08, 0xa3, 0xb3, 0xa0, 0xf3, 0xae, 0x60, 0xf4, 0x21, 0x98, + 0x43, 0xfe, 0x23, 0xc1, 0x2f, 0x09, 0x1e, 0xfa, 0x92, 0x74, 0xbf, 0xdf, 0x91, 0xf4, 0x19, 0xa4, + 0xe3, 0x97, 0x75, 0x80, 0x90, 0xe9, 0x16, 0x10, 0x64, 0x85, 0x50, 0x18, 0xc5, 0x50, 0xfc, 0x8a, + 0xa0, 0xd8, 0xe7, 0x7d, 0xfe, 0x6e, 0x40, 0x11, 0x9b, 0xa6, 0x6b, 0xf4, 0x06, 0xa6, 0xfd, 0xd2, + 0x80, 0xf7, 0x13, 0x41, 0xa7, 0x6e, 0xf7, 0xbf, 0xb1, 0xeb, 0x63, 0xa8, 0x45, 0x6e, 0x37, 0x6d, + 0xd4, 0x6c, 0xe4, 0x76, 0xaf, 0x69, 0xd1, 0x1e, 0x7c, 0x90, 0x51, 0xe4, 0x0d, 0xcc, 0xf9, 0x07, + 0x99, 0x83, 0xb7, 0xe4, 0x2d, 0x9a, 0xc3, 0xbe, 0x00, 0x4b, 0x91, 0x2b, 0xba, 0x3c, 0x72, 0x04, + 0xbf, 0xf4, 0x42, 0xcf, 0x1f, 0x52, 0xd0, 0x2e, 0x22, 0xd9, 0x26, 0x2a, 0x5b, 0x81, 0xd9, 0x01, + 0x0f, 0x43, 0xb7, 0xcb, 0x29, 0x7a, 0xe3, 0x4f, 0xeb, 0xc7, 0x88, 0x48, 0xca, 0x16, 0x42, 0x64, + 0x0d, 0x2a, 0x91, 0xdb, 0x25, 0x2b, 0xe6, 0xe3, 0xc3, 0x25, 0x87, 0xa4, 0xcb, 0xeb, 0xc0, 0x5f, + 0x7a, 0x61, 0x14, 0x2a, 0xad, 0x6b, 0x36, 0x7d, 0x15, 0x03, 0x59, 0x29, 0x06, 0xf2, 0x95, 0x01, + 0x1f, 0xca, 0xc3, 0x8f, 0xb8, 0xe8, 0xde, 0x42, 0xc4, 0xc7, 0x78, 0x95, 0x27, 0xe2, 0x75, 0x0f, + 0xe6, 0xda, 0xfe, 0x60, 0xe0, 0x45, 0x8e, 0xd7, 0x21, 0xa5, 0x6a, 0x48, 0x78, 0xdc, 0x91, 0x16, + 0x51, 0x7e, 0xa3, 0x8b, 0x4f, 0xf9, 0x6c, 0x22, 0x76, 0xec, 0x7d, 0x98, 0x71, 0x83, 0xa0, 0x7f, + 0xb5, 0x62, 0x2a, 0x08, 0xf0, 0xc3, 0xfa, 0x23, 0x5d, 0x64, 0xcd, 0x2a, 0x02, 0x55, 0x53, 0xc0, + 0xc8, 0x28, 0xb0, 0x0b, 0x0b, 0x74, 0x63, 0x47, 0x2a, 0x99, 0x90, 0xe3, 0xd7, 0x62, 0x43, 0x9e, + 0xc5, 0x75, 0x07, 0x85, 0x62, 0xc6, 0xb1, 0xeb, 0xe7, 0xa9, 0xaf, 0x62, 0xf8, 0xab, 0x85, 0xf0, + 0x3f, 0xa9, 0xd6, 0xca, 0x8d, 0x8a, 0xf5, 0x2f, 0x03, 0x23, 0x40, 0xa9, 0x7b, 0xea, 0xdb, 0xfc, + 0xe2, 0x6e, 0x7d, 0xb0, 0x06, 0x10, 0xfa, 0x23, 0xd1, 0xe6, 0x4e, 0xd8, 0x73, 0xc9, 0x09, 0x73, + 0x48, 0x39, 0xe9, 0xb9, 0x13, 0xbd, 0xb0, 0x06, 0x30, 0x0e, 0xf5, 0x0b, 0x72, 0xc4, 0x5c, 0x1c, + 0xe5, 0x17, 0x69, 0x27, 0x99, 0x7a, 0x80, 0xbb, 0xa9, 0x18, 0x23, 0xf3, 0xae, 0xe3, 0x8c, 0x9b, + 0x54, 0xb1, 0x9f, 0xc2, 0x07, 0x85, 0xbe, 0x99, 0x7e, 0xc2, 0x27, 0x50, 0x97, 0xc0, 0x39, 0x6d, + 0x75, 0xf5, 0x3a, 0x74, 0x8f, 0xe6, 0x25, 0x0d, 0x6f, 0x63, 0x87, 0x7d, 0x06, 0x8b, 0x14, 0x11, + 0x31, 0x53, 0x45, 0x31, 0x51, 0x9c, 0x10, 0x9b, 0xf5, 0x5b, 0x03, 0xde, 0x93, 0x36, 0x1e, 0x1c, + 0xbc, 0xab, 0x97, 0xc8, 0xfa, 0x05, 0xe5, 0xcc, 0x44, 0x45, 0x72, 0x42, 0x2e, 0xe8, 0x8d, 0x5b, + 0x0a, 0xfa, 0x09, 0xbe, 0xfa, 0x6b, 0x99, 0x12, 0x5e, 0x8f, 0x0b, 0x71, 0x75, 0xec, 0xb5, 0x7f, + 0x78, 0xb7, 0x68, 0x3d, 0x00, 0x13, 0xc1, 0xa1, 0xdb, 0xbc, 0x1c, 0xf3, 0x7c, 0xd3, 0x8b, 0xf6, + 0xd4, 0x82, 0x4d, 0x0c, 0xd9, 0x8a, 0x5d, 0xcd, 0x55, 0xec, 0xc9, 0x99, 0xe8, 0x21, 0x2c, 0x63, + 0x63, 0x97, 0x16, 0x80, 0x17, 0x61, 0x49, 0x2d, 0xec, 0x26, 0x52, 0x1e, 0x41, 0x03, 0x79, 0x53, + 0xd6, 0xce, 0x4e, 0xb4, 0x16, 0xb7, 0x27, 0x04, 0xeb, 0x9f, 0x94, 0xb4, 0xd3, 0x00, 0xde, 0xae, + 0x2f, 0x31, 0xd6, 0x9d, 0x48, 0xf0, 0x8c, 0x2f, 0x71, 0xe1, 0x54, 0x70, 0xf4, 0xa5, 0xbc, 0x41, + 0x14, 0x89, 0xe9, 0x32, 0x33, 0x8f, 0x34, 0x64, 0xb9, 0x41, 0x3e, 0xb4, 0xfe, 0x52, 0x86, 0x65, + 0xe5, 0x39, 0x7e, 0xc9, 0xa5, 0xc9, 0xff, 0x0f, 0x8b, 0x1b, 0x84, 0xc5, 0x2b, 0x03, 0x58, 0x1a, + 0xbc, 0xff, 0x8d, 0x90, 0xf8, 0x77, 0x19, 0xee, 0xa9, 0x60, 0x57, 0xfb, 0x0f, 0xbc, 0x3e, 0x0f, + 0x77, 0xda, 0x52, 0xdd, 0x43, 0xee, 0x76, 0xb8, 0x60, 0x07, 0x60, 0xba, 0xea, 0x5b, 0xd9, 0xb5, + 0xb8, 0xbd, 0x95, 0x76, 0xf5, 0x84, 0x4d, 0x5b, 0xf8, 0x71, 0x7a, 0x15, 0x70, 0x9b, 0x76, 0xcb, + 0x9c, 0x7a, 0xe1, 0xf5, 0xb9, 0x13, 0xb8, 0x51, 0x8f, 0xda, 0xc0, 0x9a, 0x24, 0x1c, 0xbb, 0x51, + 0x8f, 0x6d, 0xc2, 0x42, 0x20, 0xfb, 0x3b, 0x7f, 0x14, 0x22, 0x43, 0x45, 0x31, 0xd4, 0x63, 0xa2, + 0x62, 0x92, 0xa5, 0xc2, 0x0d, 0xf9, 0x57, 0xbf, 0xe2, 0xb4, 0xfd, 0x61, 0xc4, 0xe9, 0x75, 0x27, + 0x4b, 0x85, 0xa2, 0xee, 0x21, 0x91, 0x3d, 0x80, 0x06, 0x7f, 0xc9, 0xdb, 0xa3, 0x88, 0x3b, 0x52, + 0xfe, 0xc0, 0xef, 0x60, 0xd0, 0xd4, 0xec, 0x25, 0xa2, 0x1f, 0x10, 0x59, 0x1e, 0xeb, 0x0d, 0x2f, + 0xb8, 0x18, 0x0b, 0xc4, 0x2e, 0xa7, 0xae, 0x88, 0x24, 0xcf, 0x3a, 0x03, 0x48, 0xcc, 0x61, 0x00, + 0xe6, 0x9e, 0xdd, 0xda, 0x39, 0x6d, 0x35, 0x4a, 0x6c, 0x11, 0x00, 0x7f, 0x3b, 0xfb, 0x8f, 0xed, + 0x86, 0x21, 0xd7, 0xce, 0x8e, 0xf7, 0xe5, 0x5a, 0x99, 0xd5, 0xa0, 0x7a, 0xf4, 0xec, 0x79, 0xab, + 0x51, 0x91, 0xd4, 0xfd, 0xd6, 0xb7, 0x5b, 0xa7, 0xad, 0x46, 0x95, 0xcd, 0xc1, 0xcc, 0xde, 0xe1, + 0xd1, 0xb3, 0xfd, 0xc6, 0x8c, 0xf5, 0x6b, 0x6a, 0x4a, 0x72, 0x10, 0xb2, 0x47, 0x60, 0xf6, 0x14, + 0x8c, 0x14, 0x49, 0x9b, 0xd7, 0x40, 0xfc, 0xb0, 0x64, 0xd3, 0x26, 0xd6, 0x84, 0xd9, 0xd8, 0x1c, + 0x05, 0xf3, 0x61, 0xc9, 0x8e, 0x09, 0xbb, 0x16, 0x6c, 0xc8, 0xbb, 0xe9, 0x50, 0x00, 0x49, 0x7c, + 0x42, 0x07, 0x1d, 0xe4, 0x04, 0xee, 0x55, 0xdf, 0x77, 0x3b, 0xd6, 0xcf, 0x2b, 0xb0, 0x9a, 0x39, + 0x89, 0x12, 0x05, 0x45, 0xc4, 0xdd, 0xa4, 0x8b, 0x4c, 0x0e, 0xa8, 0xe4, 0x72, 0xc0, 0x67, 0xb0, + 0x48, 0x6a, 0xc7, 0xa9, 0x00, 0xf3, 0xc4, 0x02, 0x52, 0x8f, 0x28, 0x21, 0x7c, 0x11, 0x18, 0xb1, + 0xb9, 0xa3, 0xa8, 0xe7, 0x0b, 0x14, 0x87, 0x59, 0xa3, 0x81, 0x2b, 0x3b, 0x6a, 0x41, 0x09, 0xdd, + 0x82, 0xf7, 0x74, 0x6e, 0x3e, 0x70, 0xbd, 0x3e, 0x25, 0x90, 0xe5, 0x34, 0x7b, 0x4b, 0x2e, 0x14, + 0xa7, 0x9b, 0xd9, 0xeb, 0xa7, 0x9b, 0xda, 0xf5, 0xd3, 0xcd, 0x9f, 0xe3, 0x2a, 0x94, 0xf3, 0x03, + 0xfb, 0x7a, 0x26, 0x42, 0x3e, 0x9d, 0x10, 0x21, 0x9a, 0xdf, 0x52, 0x21, 0xf2, 0xb5, 0xf1, 0x9d, + 0x2e, 0xeb, 0xb9, 0xaa, 0x38, 0xc2, 0x4a, 0xf1, 0x25, 0xde, 0xdd, 0x84, 0x4f, 0xf2, 0xf1, 0x23, + 0xf0, 0x94, 0x71, 0x00, 0xfd, 0x21, 0x9e, 0x0a, 0xa5, 0x15, 0xb9, 0xc5, 0x64, 0xb9, 0x0e, 0xf3, + 0xde, 0xb0, 0xc3, 0x5f, 0x6a, 0x69, 0x12, 0x14, 0x69, 0x4a, 0xfa, 0x9b, 0xf0, 0x40, 0xfb, 0xfd, + 0xb8, 0x22, 0xca, 0x2c, 0x72, 0xe7, 0x6d, 0xa5, 0x50, 0xc7, 0xa4, 0xda, 0x4a, 0x24, 0x4c, 0x79, + 0x9b, 0xad, 0x01, 0x5d, 0x02, 0xf5, 0x98, 0x98, 0xc1, 0xc7, 0x04, 0x52, 0xe4, 0x63, 0xe2, 0x1b, + 0xb0, 0x2c, 0xf8, 0xc0, 0x8f, 0x78, 0x3a, 0xca, 0xcc, 0x89, 0x0a, 0x37, 0x90, 0x39, 0xa1, 0xc8, + 0x1c, 0x48, 0x02, 0xe8, 0x78, 0x8c, 0xe6, 0x3a, 0x12, 0xd1, 0x0d, 0xd6, 0x4f, 0xe2, 0xca, 0x87, + 0x20, 0x8d, 0xdf, 0xcf, 0x40, 0xf6, 0x48, 0xd5, 0xb0, 0xf9, 0x27, 0x0b, 0xa5, 0x6a, 0x37, 0xe8, + 0x59, 0x25, 0x34, 0xdd, 0x4c, 0x45, 0xab, 0x75, 0xa9, 0x9c, 0x59, 0xbf, 0x23, 0x1f, 0x9d, 0xbc, + 0x18, 0xb9, 0xe1, 0xdd, 0xb7, 0xfe, 0xa1, 0x3a, 0x26, 0xe5, 0x23, 0x24, 0x4c, 0xf1, 0x91, 0xdc, + 0xa4, 0x6e, 0x7a, 0xe2, 0xa2, 0x9a, 0x22, 0x48, 0x18, 0x3e, 0x82, 0x59, 0x3e, 0xec, 0xa8, 0x25, + 0x53, 0x2d, 0x99, 0x7c, 0xd8, 0x91, 0x0b, 0x9f, 0x82, 0x89, 0x49, 0x87, 0x9a, 0x10, 0x5d, 0x1d, + 0x5a, 0x2b, 0x48, 0x7b, 0xb5, 0x82, 0xb4, 0x67, 0x79, 0xe8, 0xa1, 0x18, 0xa2, 0xc4, 0x43, 0x64, + 0x4d, 0xca, 0x43, 0x48, 0x91, 0x1a, 0x4c, 0x43, 0x1d, 0xdf, 0xce, 0x76, 0xde, 0x85, 0xd6, 0x6f, + 0xe8, 0x7d, 0xb1, 0x13, 0x04, 0xfd, 0xab, 0x63, 0x37, 0x4a, 0x5e, 0x63, 0x53, 0xf3, 0x52, 0x8e, + 0x7d, 0xab, 0xa8, 0x74, 0x05, 0x92, 0x81, 0x87, 0x49, 0xe9, 0x22, 0x42, 0xf3, 0x67, 0x06, 0x98, + 0x77, 0x5a, 0x80, 0x36, 0x61, 0x81, 0x9e, 0xdf, 0xe4, 0x63, 0xea, 0x41, 0x90, 0x88, 0x17, 0x61, + 0x5c, 0x40, 0xd5, 0x1c, 0xc4, 0x51, 0xba, 0xe5, 0xf2, 0xdf, 0xf7, 0x31, 0x6f, 0xa7, 0xed, 0xbd, + 0xbd, 0xec, 0x67, 0xbd, 0x36, 0xa0, 0x99, 0x4c, 0x63, 0x4f, 0x46, 0xe7, 0x03, 0xbf, 0x33, 0xea, + 0xf3, 0x3b, 0x9f, 0x68, 0x50, 0x10, 0xa6, 0x26, 0x1a, 0x48, 0x99, 0x36, 0xd1, 0x58, 0x85, 0xb9, + 0x30, 0x56, 0x30, 0x1e, 0x68, 0x8c, 0x09, 0x05, 0x91, 0x6d, 0x16, 0x45, 0xf6, 0xdf, 0x0d, 0x6c, + 0x50, 0x73, 0x06, 0xbf, 0x9d, 0xe7, 0x75, 0xae, 0xff, 0xae, 0xe6, 0xfa, 0xef, 0x27, 0xd5, 0x5a, + 0xa5, 0x51, 0xb5, 0xf3, 0x2d, 0xfd, 0xf6, 0xeb, 0x39, 0x68, 0x8c, 0xf5, 0x39, 0xe1, 0xe2, 0xd2, + 0x6b, 0x73, 0xf6, 0x5d, 0x68, 0x64, 0xff, 0x91, 0x60, 0xeb, 0x5a, 0x45, 0xce, 0xff, 0xbd, 0xd2, + 0xdc, 0x98, 0xcc, 0x80, 0xb8, 0x58, 0xa5, 0x58, 0x70, 0x7a, 0x6e, 0xaf, 0x0b, 0x2e, 0xf8, 0x4f, + 0x42, 0x17, 0x5c, 0x34, 0xf2, 0x4f, 0x04, 0xa7, 0xa7, 0xe6, 0xba, 0xe0, 0x82, 0x09, 0xbf, 0x2e, + 0xb8, 0x68, 0xe0, 0x6e, 0x95, 0xd8, 0x53, 0x58, 0xd0, 0x46, 0xb5, 0x6c, 0x35, 0x6f, 0x66, 0x32, + 0x8d, 0x6e, 0xae, 0x4d, 0x58, 0xcd, 0xca, 0x1b, 0x0f, 0xc3, 0x75, 0x79, 0xd9, 0x61, 0xbd, 0x2e, + 0x2f, 0x37, 0x41, 0xb7, 0x4a, 0xec, 0x3b, 0xb0, 0xa8, 0x4f, 0xda, 0x98, 0xb6, 0x25, 0x37, 0x60, + 0x6c, 0x7e, 0x6e, 0xd2, 0xf2, 0x58, 0xe4, 0xf7, 0x60, 0x29, 0x33, 0x4a, 0x65, 0xf9, 0x4d, 0x3a, + 0x92, 0xeb, 0x13, 0xd7, 0x63, 0xa9, 0xf7, 0x8d, 0x2f, 0x19, 0xec, 0x5b, 0x50, 0x4f, 0xcf, 0xa3, + 0xd8, 0xbd, 0xf4, 0xb6, 0xcc, 0x20, 0xad, 0xb9, 0x5a, 0xbc, 0x98, 0xb5, 0x3c, 0x19, 0x89, 0xe8, + 0x96, 0xe7, 0x66, 0x4d, 0xba, 0xe5, 0xf9, 0x49, 0x8a, 0x55, 0x62, 0x2d, 0x80, 0xe4, 0x39, 0xcd, + 0x3e, 0xd6, 0xd2, 0x4e, 0x7a, 0x3e, 0xd1, 0x6c, 0x16, 0x2d, 0x8d, 0xc5, 0x3c, 0x47, 0x00, 0x53, + 0xdd, 0xa6, 0x0e, 0x60, 0xbe, 0x1f, 0xd6, 0x01, 0x2c, 0x68, 0x53, 0x25, 0x80, 0x89, 0x7a, 0xb2, + 0x9f, 0xc9, 0xaa, 0x97, 0x6a, 0x16, 0xb3, 0xea, 0xa5, 0x5b, 0xa4, 0xc4, 0x4a, 0x2c, 0xcc, 0xba, + 0x18, 0xad, 0x9f, 0xd1, 0xc5, 0xe8, 0x75, 0xdc, 0x2a, 0xb1, 0x13, 0xc4, 0x3f, 0x29, 0x2a, 0x3a, + 0xfe, 0xb9, 0xe2, 0xaa, 0xe3, 0x9f, 0xaf, 0x45, 0xca, 0xc4, 0x1f, 0xe0, 0x50, 0x35, 0x93, 0x59, + 0x99, 0x95, 0x4f, 0x01, 0xd9, 0x3a, 0xd3, 0xdc, 0x9c, 0xca, 0x13, 0x9f, 0x71, 0x6e, 0xaa, 0x3f, + 0x8a, 0xbf, 0xfc, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x59, 0x6f, 0x01, 0x52, 0x1e, 0x00, + 0x00, } diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go index 2cba9a2f7d43c6c192ac2fd5be6f899c29940306..6d444b9c59bb6547947668b448206deca1171151 100644 --- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go +++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go @@ -375,7 +375,7 @@ type RemoteServiceClient interface { UpdateRemoteMirror(ctx context.Context, opts ...grpc.CallOption) (RemoteService_UpdateRemoteMirrorClient, error) FindRemoteRepository(ctx context.Context, in *FindRemoteRepositoryRequest, opts ...grpc.CallOption) (*FindRemoteRepositoryResponse, error) FindRemoteRootRef(ctx context.Context, in *FindRemoteRootRefRequest, opts ...grpc.CallOption) (*FindRemoteRootRefResponse, error) - ListRemotes(ctx context.Context, in *ListRemotesRequest, opts ...grpc.CallOption) (*ListRemotesResponse, error) + ListRemotes(ctx context.Context, in *ListRemotesRequest, opts ...grpc.CallOption) (RemoteService_ListRemotesClient, error) } type remoteServiceClient struct { @@ -465,13 +465,36 @@ func (c *remoteServiceClient) FindRemoteRootRef(ctx context.Context, in *FindRem return out, nil } -func (c *remoteServiceClient) ListRemotes(ctx context.Context, in *ListRemotesRequest, opts ...grpc.CallOption) (*ListRemotesResponse, error) { - out := new(ListRemotesResponse) - err := grpc.Invoke(ctx, "/gitaly.RemoteService/ListRemotes", in, out, c.cc, opts...) +func (c *remoteServiceClient) ListRemotes(ctx context.Context, in *ListRemotesRequest, opts ...grpc.CallOption) (RemoteService_ListRemotesClient, error) { + stream, err := grpc.NewClientStream(ctx, &_RemoteService_serviceDesc.Streams[1], c.cc, "/gitaly.RemoteService/ListRemotes", opts...) if err != nil { return nil, err } - return out, nil + x := &remoteServiceListRemotesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type RemoteService_ListRemotesClient interface { + Recv() (*ListRemotesResponse, error) + grpc.ClientStream +} + +type remoteServiceListRemotesClient struct { + grpc.ClientStream +} + +func (x *remoteServiceListRemotesClient) Recv() (*ListRemotesResponse, error) { + m := new(ListRemotesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil } // Server API for RemoteService service @@ -483,7 +506,7 @@ type RemoteServiceServer interface { UpdateRemoteMirror(RemoteService_UpdateRemoteMirrorServer) error FindRemoteRepository(context.Context, *FindRemoteRepositoryRequest) (*FindRemoteRepositoryResponse, error) FindRemoteRootRef(context.Context, *FindRemoteRootRefRequest) (*FindRemoteRootRefResponse, error) - ListRemotes(context.Context, *ListRemotesRequest) (*ListRemotesResponse, error) + ListRemotes(*ListRemotesRequest, RemoteService_ListRemotesServer) error } func RegisterRemoteServiceServer(s *grpc.Server, srv RemoteServiceServer) { @@ -606,22 +629,25 @@ func _RemoteService_FindRemoteRootRef_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } -func _RemoteService_ListRemotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListRemotesRequest) - if err := dec(in); err != nil { - return nil, err +func _RemoteService_ListRemotes_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ListRemotesRequest) + if err := stream.RecvMsg(m); err != nil { + return err } - if interceptor == nil { - return srv.(RemoteServiceServer).ListRemotes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gitaly.RemoteService/ListRemotes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RemoteServiceServer).ListRemotes(ctx, req.(*ListRemotesRequest)) - } - return interceptor(ctx, in, info, handler) + return srv.(RemoteServiceServer).ListRemotes(m, &remoteServiceListRemotesServer{stream}) +} + +type RemoteService_ListRemotesServer interface { + Send(*ListRemotesResponse) error + grpc.ServerStream +} + +type remoteServiceListRemotesServer struct { + grpc.ServerStream +} + +func (x *remoteServiceListRemotesServer) Send(m *ListRemotesResponse) error { + return x.ServerStream.SendMsg(m) } var _RemoteService_serviceDesc = grpc.ServiceDesc{ @@ -648,10 +674,6 @@ var _RemoteService_serviceDesc = grpc.ServiceDesc{ MethodName: "FindRemoteRootRef", Handler: _RemoteService_FindRemoteRootRef_Handler, }, - { - MethodName: "ListRemotes", - Handler: _RemoteService_ListRemotes_Handler, - }, }, Streams: []grpc.StreamDesc{ { @@ -659,6 +681,11 @@ var _RemoteService_serviceDesc = grpc.ServiceDesc{ Handler: _RemoteService_UpdateRemoteMirror_Handler, ClientStreams: true, }, + { + StreamName: "ListRemotes", + Handler: _RemoteService_ListRemotes_Handler, + ServerStreams: true, + }, }, Metadata: "remote.proto", } @@ -666,47 +693,47 @@ var _RemoteService_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("remote.proto", fileDescriptor10) } var fileDescriptor10 = []byte{ - // 670 bytes of a gzipped FileDescriptorProto + // 672 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcb, 0x6e, 0xd3, 0x4c, 0x14, 0xae, 0xeb, 0x34, 0x97, 0x93, 0xf4, 0x57, 0x3a, 0xa9, 0xfa, 0x3b, 0x4e, 0x25, 0xd2, 0x01, - 0x24, 0x6f, 0xc8, 0x22, 0x5c, 0x56, 0x48, 0x88, 0x2e, 0x50, 0xa1, 0x94, 0x85, 0xa1, 0x1b, 0x24, - 0x64, 0xdc, 0x64, 0x5c, 0x5b, 0x75, 0x3c, 0x66, 0x66, 0x52, 0xc8, 0x63, 0xf0, 0x16, 0xf0, 0x4a, - 0x3c, 0x04, 0xcf, 0x80, 0xc6, 0x33, 0x76, 0x1c, 0xea, 0x04, 0x89, 0x8a, 0x9d, 0xe7, 0xdc, 0xe6, - 0xfb, 0xce, 0x7c, 0xe7, 0x18, 0x3a, 0x8c, 0xcc, 0xa8, 0x20, 0xa3, 0x94, 0x51, 0x41, 0x51, 0xfd, - 0x32, 0x12, 0x7e, 0xbc, 0xb0, 0x3b, 0x3c, 0xf4, 0x19, 0x99, 0x2a, 0x2b, 0xfe, 0x66, 0x40, 0xf7, - 0xf9, 0x74, 0xea, 0x66, 0x91, 0x2e, 0xf9, 0x34, 0x27, 0x5c, 0xa0, 0x31, 0x00, 0x23, 0x29, 0xe5, - 0x91, 0xa0, 0x6c, 0x61, 0x19, 0x43, 0xc3, 0x69, 0x8f, 0xd1, 0x48, 0xe5, 0x8f, 0xdc, 0xc2, 0xe3, - 0x96, 0xa2, 0x10, 0x82, 0x5a, 0xe2, 0xcf, 0x88, 0xb5, 0x3d, 0x34, 0x9c, 0x96, 0x9b, 0x7d, 0xa3, - 0x2e, 0x98, 0x73, 0x16, 0x5b, 0x66, 0x66, 0x92, 0x9f, 0xe8, 0x3e, 0xfc, 0x37, 0x8b, 0x18, 0xa3, - 0xcc, 0x63, 0x24, 0x98, 0xf9, 0x29, 0xb7, 0x76, 0x86, 0xa6, 0xd3, 0x72, 0x77, 0x95, 0xd5, 0x55, - 0xc6, 0x57, 0xb5, 0x66, 0xad, 0xbb, 0x93, 0x1b, 0x75, 0x28, 0xee, 0xc1, 0x5e, 0x09, 0x29, 0x4f, - 0x69, 0xc2, 0x09, 0xfe, 0x00, 0x3d, 0x69, 0xb9, 0x26, 0xff, 0x84, 0x01, 0x1e, 0xc1, 0xfe, 0x6a, - 0x79, 0x75, 0x2d, 0x3a, 0x80, 0x3a, 0x23, 0x7c, 0x1e, 0x8b, 0xac, 0x76, 0xd3, 0xd5, 0x27, 0xfc, - 0xd5, 0x00, 0xfb, 0x05, 0x11, 0x93, 0xf0, 0x65, 0x22, 0x08, 0x4b, 0xfc, 0xf8, 0xf6, 0xb0, 0x9e, - 0xc1, 0x9e, 0x7a, 0x47, 0xaf, 0x94, 0xba, 0xbd, 0x36, 0xb5, 0xcb, 0xf4, 0x8d, 0xb9, 0x05, 0x3f, - 0x86, 0x41, 0x25, 0xa4, 0x3f, 0x50, 0xf9, 0x61, 0x40, 0xff, 0x3c, 0x9d, 0xfa, 0x42, 0x73, 0x3f, - 0xd3, 0x2f, 0xf4, 0xf7, 0x4c, 0xfa, 0xd0, 0x64, 0x24, 0xf0, 0x4a, 0x4d, 0x6e, 0x30, 0x12, 0xbc, - 0x91, 0x4a, 0x79, 0x04, 0x07, 0x34, 0x89, 0x17, 0xde, 0x05, 0xf3, 0x93, 0x49, 0x48, 0xb8, 0x37, - 0xf3, 0xc5, 0x24, 0x8c, 0x92, 0x4b, 0xcb, 0x1c, 0x9a, 0x4e, 0xc7, 0xdd, 0x97, 0xde, 0x63, 0xed, - 0x3c, 0xd3, 0x3e, 0xf4, 0x3f, 0x34, 0x38, 0x0f, 0xbd, 0x2b, 0xb2, 0xb0, 0x6a, 0x59, 0xbd, 0x3a, - 0xe7, 0xe1, 0x29, 0x59, 0xa0, 0x3b, 0xd0, 0xbe, 0x4a, 0xe8, 0xe7, 0xc4, 0x0b, 0x29, 0x17, 0x52, - 0x63, 0xd2, 0x09, 0x99, 0xe9, 0x44, 0x5a, 0xf0, 0x21, 0xd8, 0x55, 0xdc, 0xb4, 0xa8, 0x64, 0xc7, - 0xa2, 0xa4, 0x90, 0x5a, 0x41, 0x46, 0x73, 0xcf, 0x3a, 0x26, 0x5d, 0x19, 0xef, 0x96, 0xab, 0x4f, - 0xf8, 0x09, 0x1c, 0x56, 0xa7, 0x2d, 0x3b, 0x4d, 0xbe, 0x44, 0x12, 0x90, 0xee, 0xb4, 0x3a, 0xe1, - 0x00, 0xac, 0x52, 0x1e, 0xa5, 0xc2, 0x25, 0xc1, 0x6d, 0xfa, 0xbc, 0xc4, 0xb7, 0xbd, 0x82, 0xef, - 0x01, 0xf4, 0x2b, 0xee, 0xd1, 0xe0, 0xba, 0x60, 0x32, 0x12, 0x68, 0x46, 0xf2, 0x13, 0x9f, 0x00, - 0x7a, 0x1d, 0x71, 0xa1, 0xc2, 0xf9, 0x2d, 0x00, 0xe1, 0xef, 0x06, 0xf4, 0x56, 0x4a, 0xe9, 0x3b, - 0x9f, 0x42, 0x43, 0x41, 0x93, 0x1d, 0x31, 0x9d, 0xf6, 0x18, 0xe7, 0x85, 0x2a, 0xa2, 0x47, 0x1a, - 0x77, 0x9e, 0x62, 0xbf, 0x83, 0xba, 0x32, 0x15, 0x93, 0x6b, 0x94, 0x76, 0xcf, 0x00, 0x5a, 0x81, - 0x54, 0xbd, 0x27, 0x37, 0x90, 0xea, 0x43, 0x33, 0x33, 0x9c, 0xb3, 0x58, 0x2a, 0x31, 0x9d, 0x73, - 0xe5, 0x53, 0xdb, 0xa9, 0x21, 0xcf, 0xe7, 0x2c, 0x1e, 0xff, 0xac, 0xc1, 0xae, 0x2a, 0xfb, 0x96, - 0xb0, 0xeb, 0x68, 0x42, 0xd0, 0x31, 0xb4, 0x8a, 0xbd, 0x83, 0xac, 0x1c, 0xe1, 0xef, 0x4b, 0xd3, - 0xee, 0x57, 0x78, 0xb4, 0x9e, 0xb6, 0xd0, 0x47, 0xe8, 0x55, 0xcc, 0x20, 0x2a, 0xf8, 0xae, 0xdf, - 0x19, 0xf6, 0xdd, 0x8d, 0x31, 0xc5, 0x0d, 0xa7, 0xd0, 0x29, 0x6f, 0x2a, 0x34, 0x58, 0xbe, 0xc9, - 0x8d, 0xf5, 0x68, 0x1f, 0x56, 0x3b, 0x8b, 0x62, 0x1e, 0xa0, 0x9b, 0xe3, 0x81, 0x8e, 0xf2, 0xac, - 0xb5, 0x6b, 0xc1, 0xc6, 0x9b, 0x42, 0xf2, 0xf2, 0x8e, 0x81, 0x26, 0xb0, 0x5f, 0x35, 0x2a, 0x68, - 0x49, 0x76, 0xfd, 0xfc, 0xd9, 0xf7, 0x36, 0x07, 0x15, 0x2c, 0xde, 0xc3, 0xde, 0x0d, 0xbd, 0xa3, - 0x61, 0x45, 0xf2, 0xca, 0xc8, 0xd9, 0x47, 0x1b, 0x22, 0x8a, 0xda, 0x27, 0xd0, 0x2e, 0x69, 0x14, - 0xd9, 0x95, 0xc2, 0x55, 0xf5, 0x06, 0x1b, 0x44, 0x8d, 0xb7, 0x2e, 0xea, 0xd9, 0x8f, 0xf8, 0xe1, - 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x61, 0x50, 0x1b, 0xae, 0x07, 0x00, 0x00, + 0xa4, 0x6c, 0x88, 0x50, 0xb8, 0xac, 0x90, 0x10, 0x5d, 0xa0, 0xd2, 0x52, 0x16, 0x86, 0x6e, 0x90, + 0x90, 0x71, 0x93, 0x71, 0x6d, 0xd5, 0xf1, 0x98, 0x99, 0x49, 0x21, 0x8f, 0xc1, 0x5b, 0xc0, 0x2b, + 0xf1, 0x14, 0x3c, 0x02, 0x1a, 0xcf, 0xd8, 0x71, 0xa8, 0x13, 0x24, 0x22, 0x76, 0x9e, 0x73, 0x9b, + 0xef, 0x3b, 0xf3, 0x9d, 0x63, 0x68, 0x31, 0x32, 0xa5, 0x82, 0x0c, 0x13, 0x46, 0x05, 0x45, 0xd5, + 0xab, 0x50, 0x78, 0xd1, 0xdc, 0x6e, 0xf1, 0xc0, 0x63, 0x64, 0xa2, 0xac, 0xf8, 0x9b, 0x01, 0xed, + 0x17, 0x93, 0x89, 0x93, 0x46, 0x3a, 0xe4, 0xd3, 0x8c, 0x70, 0x81, 0x46, 0x00, 0x8c, 0x24, 0x94, + 0x87, 0x82, 0xb2, 0xb9, 0x65, 0xf4, 0x8d, 0x41, 0x73, 0x84, 0x86, 0x2a, 0x7f, 0xe8, 0xe4, 0x1e, + 0xa7, 0x10, 0x85, 0x10, 0x54, 0x62, 0x6f, 0x4a, 0xac, 0xed, 0xbe, 0x31, 0x68, 0x38, 0xe9, 0x37, + 0x6a, 0x83, 0x39, 0x63, 0x91, 0x65, 0xa6, 0x26, 0xf9, 0x89, 0xee, 0xc3, 0x7f, 0xd3, 0x90, 0x31, + 0xca, 0x5c, 0x46, 0xfc, 0xa9, 0x97, 0x70, 0x6b, 0xa7, 0x6f, 0x0e, 0x1a, 0xce, 0xae, 0xb2, 0x3a, + 0xca, 0x78, 0x5a, 0xa9, 0x57, 0xda, 0x3b, 0x99, 0x51, 0x87, 0xe2, 0x0e, 0xec, 0x15, 0x90, 0xf2, + 0x84, 0xc6, 0x9c, 0xe0, 0x0f, 0xd0, 0x91, 0x96, 0x1b, 0xf2, 0x4f, 0x18, 0xe0, 0x21, 0xec, 0x2f, + 0x97, 0x57, 0xd7, 0xa2, 0x03, 0xa8, 0x32, 0xc2, 0x67, 0x91, 0x48, 0x6b, 0xd7, 0x1d, 0x7d, 0xc2, + 0x5f, 0x0d, 0xb0, 0x5f, 0x12, 0x31, 0x0e, 0x5e, 0xc5, 0x82, 0xb0, 0xd8, 0x8b, 0x36, 0x87, 0xf5, + 0x1c, 0xf6, 0xd4, 0x3b, 0xba, 0x85, 0xd4, 0xed, 0x95, 0xa9, 0x6d, 0xa6, 0x6f, 0xcc, 0x2c, 0xf8, + 0x09, 0xf4, 0x4a, 0x21, 0xfd, 0x81, 0xca, 0x0f, 0x03, 0xba, 0x17, 0xc9, 0xc4, 0x13, 0x9a, 0xfb, + 0xb9, 0x7e, 0xa1, 0xbf, 0x67, 0xd2, 0x85, 0x3a, 0x23, 0xbe, 0x5b, 0x68, 0x72, 0x8d, 0x11, 0xff, + 0x8d, 0x54, 0xca, 0x63, 0x38, 0xa0, 0x71, 0x34, 0x77, 0x2f, 0x99, 0x17, 0x8f, 0x03, 0xc2, 0xdd, + 0xa9, 0x27, 0xc6, 0x41, 0x18, 0x5f, 0x59, 0x66, 0xdf, 0x1c, 0xb4, 0x9c, 0x7d, 0xe9, 0x3d, 0xd6, + 0xce, 0x73, 0xed, 0x43, 0xff, 0x43, 0x8d, 0xf3, 0xc0, 0xbd, 0x26, 0x73, 0xab, 0x92, 0xd6, 0xab, + 0x72, 0x1e, 0x9c, 0x91, 0x39, 0xba, 0x03, 0xcd, 0xeb, 0x98, 0x7e, 0x8e, 0xdd, 0x80, 0x72, 0x21, + 0x35, 0x26, 0x9d, 0x90, 0x9a, 0x4e, 0xa4, 0x05, 0x1f, 0x82, 0x5d, 0xc6, 0x4d, 0x8b, 0x4a, 0x76, + 0x2c, 0x8c, 0x73, 0xa9, 0xe5, 0x64, 0x34, 0xf7, 0xb4, 0x63, 0xd2, 0x95, 0xf2, 0x6e, 0x38, 0xfa, + 0x84, 0x9f, 0xc2, 0x61, 0x79, 0xda, 0xa2, 0xd3, 0xe4, 0x4b, 0x28, 0x01, 0xe9, 0x4e, 0xab, 0x13, + 0xf6, 0xc1, 0x2a, 0xe4, 0x51, 0x2a, 0x1c, 0xe2, 0x6f, 0xd2, 0xe7, 0x05, 0xbe, 0xed, 0x25, 0x7c, + 0x0f, 0xa0, 0x5b, 0x72, 0x8f, 0x06, 0xd7, 0x06, 0x93, 0x11, 0x5f, 0x33, 0x92, 0x9f, 0xf8, 0x04, + 0xd0, 0xeb, 0x90, 0x0b, 0x15, 0xce, 0x37, 0x00, 0x84, 0xbf, 0x1b, 0xd0, 0x59, 0x2a, 0xa5, 0xef, + 0x7c, 0x06, 0x35, 0x05, 0x4d, 0x76, 0xc4, 0x1c, 0x34, 0x47, 0x38, 0x2b, 0x54, 0x12, 0x3d, 0xd4, + 0xb8, 0xb3, 0x14, 0xfb, 0x1d, 0x54, 0x95, 0x29, 0x9f, 0x5c, 0xa3, 0xb0, 0x7b, 0x7a, 0xd0, 0xf0, + 0xa5, 0xea, 0x5d, 0xb9, 0x81, 0x54, 0x1f, 0xea, 0xa9, 0xe1, 0x82, 0x45, 0x52, 0x89, 0xc9, 0x8c, + 0x2b, 0x9f, 0xda, 0x4e, 0x35, 0x79, 0xbe, 0x60, 0xd1, 0xe8, 0x67, 0x05, 0x76, 0x55, 0xd9, 0xb7, + 0x84, 0xdd, 0x84, 0x63, 0x82, 0x8e, 0xa1, 0x91, 0xef, 0x1d, 0x64, 0x65, 0x08, 0x7f, 0x5f, 0x9a, + 0x76, 0xb7, 0xc4, 0xa3, 0xf5, 0xb4, 0x85, 0x3e, 0x42, 0xa7, 0x64, 0x06, 0x51, 0xce, 0x77, 0xf5, + 0xce, 0xb0, 0xef, 0xae, 0x8d, 0xc9, 0x6f, 0x38, 0x83, 0x56, 0x71, 0x53, 0xa1, 0xde, 0xe2, 0x4d, + 0x6e, 0xad, 0x47, 0xfb, 0xb0, 0xdc, 0x99, 0x17, 0x73, 0x01, 0xdd, 0x1e, 0x0f, 0x74, 0x94, 0x65, + 0xad, 0x5c, 0x0b, 0x36, 0x5e, 0x17, 0x92, 0x95, 0x1f, 0x18, 0x68, 0x0c, 0xfb, 0x65, 0xa3, 0x82, + 0x16, 0x64, 0x57, 0xcf, 0x9f, 0x7d, 0x6f, 0x7d, 0x50, 0xce, 0xe2, 0x3d, 0xec, 0xdd, 0xd2, 0x3b, + 0xea, 0x97, 0x24, 0x2f, 0x8d, 0x9c, 0x7d, 0xb4, 0x26, 0x22, 0xaf, 0x7d, 0x0a, 0xcd, 0x82, 0x46, + 0x91, 0x5d, 0x2a, 0x5c, 0x55, 0xaf, 0xb7, 0x46, 0xd4, 0x78, 0xeb, 0xa1, 0x71, 0x59, 0x4d, 0x7f, + 0xc5, 0x8f, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x62, 0xf6, 0x64, 0xb0, 0x07, 0x00, 0x00, } diff --git a/vendor/vendor.json b/vendor/vendor.json index 5042c57934941f77fd679c711df9586a96de6bdb..2a5014105edb583245efbdbf00f5844d8c2ed89f 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -501,12 +501,12 @@ "revisionTime": "2018-11-02T16:30:54Z" }, { - "checksumSHA1": "PCaYb2TVXfvhTQZqc5+uOIU8jHU=", + "checksumSHA1": "AEuc/0oF2vF1nYiibaT/UIxMgbg=", "path": "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb", - "revision": "c181aa5999ae0d27ca143dce93b6d9ed44da06b1", - "revisionTime": "2019-01-24T10:20:43Z", - "version": "v1.10.0", - "versionExact": "v1.10.0" + "revision": "53d58cd1f691f0370aca152927db89a6b6fbab59", + "revisionTime": "2019-02-06T12:42:04Z", + "version": "v1.12.0", + "versionExact": "v1.12.0" }, { "checksumSHA1": "R6fNN36q3UydLODupK0vdx9h/CY=",