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:
authorJacob Vosmaer <jacob@gitlab.com>2019-02-22 18:21:13 +0300
committerJacob Vosmaer <jacob@gitlab.com>2019-02-22 18:21:13 +0300
commit913406d3d0b9fd6f833095b578660b445495475c (patch)
treeb4f0060f51a2d7405612dc760be297bc5e3759d6
parent0f41ee68f3ebf8ce1ed2e85f1abb9ab1756269df (diff)
parent8fbc337b84a069543078c948ca3d2446c21961c4 (diff)
Merge branch 'osw-support-dry-merge-to-ref' into 'master'
Support merge ref writing (without merging to target branch) See merge request gitlab-org/gitaly!1057
-rw-r--r--changelogs/unreleased/osw-support-dry-merge-to-ref.yml5
-rw-r--r--internal/service/operations/merge.go43
-rw-r--r--internal/service/operations/merge_test.go233
-rw-r--r--internal/service/remote/list_remotes.go6
-rw-r--r--ruby/Gemfile2
-rw-r--r--ruby/Gemfile.lock4
-rw-r--r--ruby/lib/gitaly_server/operations_service.rb15
-rw-r--r--ruby/lib/gitlab/git/operation_service.rb26
-rw-r--r--ruby/lib/gitlab/git/repository.rb55
-rw-r--r--ruby/spec/lib/gitlab/git/repository_spec.rb32
-rw-r--r--vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/blob.pb.go2
-rw-r--r--vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/operations.pb.go390
-rw-r--r--vendor/gitlab.com/gitlab-org/gitaly-proto/go/gitalypb/remote.pb.go159
-rw-r--r--vendor/vendor.json10
14 files changed, 752 insertions, 230 deletions
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 000000000..d7fab6b17
--- /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 9fa3888b3..60588c011 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 397633f42..aab11c5d9 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 e57b31f34..8e4119cd9 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 352c5eece..047826902 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 886185c31..91932975e 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 26176884f..9e52d06ff 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 649337dd9..ac6998dc2 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 050e74feb..dedbe368f 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 82e69f935..677be7aa9 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 20085a3f8..c086379fb 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 cdfbba897..45f93c3ba 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})
}
@@ -2196,6 +2313,10 @@ var _OperationService_serviceDesc = grpc.ServiceDesc{
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 2cba9a2f7..6d444b9c5 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 5042c5793..2a5014105 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=",