From 9183f528c7101965ff59e64f91ec6c1ee4295510 Mon Sep 17 00:00:00 2001 From: Erik Seliger Date: Thu, 6 Jun 2024 14:36:22 +0200 Subject: [PATCH] gitserver: Sunset Exec endpoint (#62774) After we finally migrated all calls to Exec by proper API offerings, we're finally not using this API anymore. The previous PR deprecated this endpoint, and this one will fully remove it. We can merge it early June when after the next release was cut. As a result of this, gitserver no longer exposes a blanket exec endpoint that could pose several risks from running dangerous commands to just running commands that could cause resource exhaustion. Closes https://github.com/sourcegraph/sourcegraph/issues/62099 Test plan: This endpoint is unused, CI did not find any issues from removing it. --- cmd/gitserver/internal/git/gitcli/command.go | 18 +- .../internal/git/gitcli/commitlog.go | 4 +- cmd/gitserver/internal/git/gitcli/config.go | 4 +- .../internal/git/gitcli/contributors.go | 2 +- cmd/gitserver/internal/git/gitcli/exec.go | 6 - cmd/gitserver/internal/git/gitcli/head.go | 12 +- .../internal/git/gitcli/head_test.go | 8 +- .../internal/git/gitcli/mergebase.go | 2 +- cmd/gitserver/internal/git/gitcli/object.go | 2 +- cmd/gitserver/internal/git/gitcli/odb.go | 12 +- .../internal/git/gitcli/resolverevision.go | 2 +- cmd/gitserver/internal/git/iface.go | 5 - cmd/gitserver/internal/git/mock.go | 130 -- cmd/gitserver/internal/git/observability.go | 26 - cmd/gitserver/internal/server_grpc.go | 106 -- cmd/gitserver/internal/server_grpc_logger.go | 32 - cmd/gitserver/internal/server_test.go | 205 --- internal/gitserver/errwrap.go | 25 - internal/gitserver/mock.go | 1008 ----------- internal/gitserver/retry.go | 10 - internal/gitserver/v1/gitserver.pb.go | 1546 +++++++---------- internal/gitserver/v1/gitserver.proto | 21 - internal/gitserver/v1/gitserver_grpc.pb.go | 85 +- mockgen.temp.yaml | 1 - 24 files changed, 687 insertions(+), 2585 deletions(-) diff --git a/cmd/gitserver/internal/git/gitcli/command.go b/cmd/gitserver/internal/git/gitcli/command.go index 5c6cc48e309..7d7b4065656 100644 --- a/cmd/gitserver/internal/git/gitcli/command.go +++ b/cmd/gitserver/internal/git/gitcli/command.go @@ -93,7 +93,7 @@ func (g *gitCLIBackend) NewCommand(ctx context.Context, optFns ...CommandOptionF if !IsAllowedGitCmd(logger, opts.arguments) { blockedCommandExecutedCounter.Inc() - return nil, ErrBadGitCommand + return nil, errBadGitCommand } if len(opts.arguments) == 0 { @@ -177,16 +177,16 @@ func (g *gitCLIBackend) NewCommand(ctx context.Context, optFns ...CommandOptionF return cr, nil } -// ErrBadGitCommand is returned from the git CLI backend if the arguments provided +// errBadGitCommand is returned from the git CLI backend if the arguments provided // are not allowed. -var ErrBadGitCommand = errors.New("bad git command, not allowed") +var errBadGitCommand = errors.New("bad git command, not allowed") -func commandFailedError(ctx context.Context, err error, cmd wrexec.Cmder, stderr []byte) error { +func newCommandFailedError(ctx context.Context, err error, cmd wrexec.Cmder, stderr []byte) error { if ctx.Err() != nil { return ctx.Err() } - return &CommandFailedError{ + return &commandFailedError{ Inner: err, args: cmd.Unwrap().Args, Stderr: stderr, @@ -194,18 +194,18 @@ func commandFailedError(ctx context.Context, err error, cmd wrexec.Cmder, stderr } } -type CommandFailedError struct { +type commandFailedError struct { Stderr []byte ExitStatus int Inner error args []string } -func (e *CommandFailedError) Unwrap() error { +func (e *commandFailedError) Unwrap() error { return e.Inner } -func (e *CommandFailedError) Error() string { +func (e *commandFailedError) Error() string { return fmt.Sprintf("git command %v failed with status code %d (output: %q)", e.args, e.ExitStatus, e.Stderr) } @@ -260,7 +260,7 @@ func (rc *cmdReader) waitCmd() error { if checkMaybeCorruptRepo(rc.logger, rc.gitDir, rc.repoName, rc.stderr.String()) { rc.err = common.ErrRepoCorrupted{Reason: rc.stderr.String()} } else { - rc.err = commandFailedError(rc.ctx, rc.err, rc.cmd, rc.stderr.Bytes()) + rc.err = newCommandFailedError(rc.ctx, rc.err, rc.cmd, rc.stderr.Bytes()) } } diff --git a/cmd/gitserver/internal/git/gitcli/commitlog.go b/cmd/gitserver/internal/git/gitcli/commitlog.go index 033adad49d6..b1c007509c9 100644 --- a/cmd/gitserver/internal/git/gitcli/commitlog.go +++ b/cmd/gitserver/internal/git/gitcli/commitlog.go @@ -131,7 +131,7 @@ func (it *commitLogIterator) Next() (*git.GitCommitWithFiles, error) { // If exit code is 128 and `fatal: bad object` is part of stderr, most likely we // are referencing a commit that does not exist. // We want to return a gitdomain.RevisionNotFoundError in that case. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 { if (bytes.Contains(e.Stderr, []byte("fatal: your current branch")) && bytes.Contains(e.Stderr, []byte("does not have any commits yet"))) || bytes.Contains(e.Stderr, []byte("fatal: bad revision 'HEAD'")) { return nil, io.EOF @@ -174,7 +174,7 @@ func (it *commitLogIterator) Next() (*git.GitCommitWithFiles, error) { func (it *commitLogIterator) Close() error { err := it.Closer.Close() if err != nil { - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 { if (bytes.Contains(e.Stderr, []byte("fatal: your current branch")) && bytes.Contains(e.Stderr, []byte("does not have any commits yet"))) || bytes.Contains(e.Stderr, []byte("fatal: bad revision 'HEAD'")) { return nil diff --git a/cmd/gitserver/internal/git/gitcli/config.go b/cmd/gitserver/internal/git/gitcli/config.go index c00b94706f5..c30faf32387 100644 --- a/cmd/gitserver/internal/git/gitcli/config.go +++ b/cmd/gitserver/internal/git/gitcli/config.go @@ -24,7 +24,7 @@ func (g *gitCLIBackend) Get(ctx context.Context, key string) (string, error) { out, err := io.ReadAll(r) if err != nil { // Exit code 1 means the key is not set. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 1 { return "", nil } @@ -63,7 +63,7 @@ func (g *gitCLIBackend) Unset(ctx context.Context, key string) error { _, err = io.Copy(io.Discard, r) if err != nil { // Exit code 5 means the key is not set. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 5 { return nil } diff --git a/cmd/gitserver/internal/git/gitcli/contributors.go b/cmd/gitserver/internal/git/gitcli/contributors.go index ed241365eed..cac3188b725 100644 --- a/cmd/gitserver/internal/git/gitcli/contributors.go +++ b/cmd/gitserver/internal/git/gitcli/contributors.go @@ -49,7 +49,7 @@ func (g *gitCLIBackend) ContributorCounts(ctx context.Context, opt git.Contribut // If exit code is 128 and `fatal: bad object` is part of stderr, most likely we // are referencing a range that does not exist. // We want to return a gitdomain.RevisionNotFoundError in that case. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 && (bytes.Contains(e.Stderr, []byte("fatal: bad object")) || bytes.Contains(e.Stderr, []byte("fatal: bad revision"))) { return nil, &gitdomain.RevisionNotFoundError{Repo: g.repoName, Spec: string(opt.Range)} diff --git a/cmd/gitserver/internal/git/gitcli/exec.go b/cmd/gitserver/internal/git/gitcli/exec.go index 65feceeaa07..034313cc0b6 100644 --- a/cmd/gitserver/internal/git/gitcli/exec.go +++ b/cmd/gitserver/internal/git/gitcli/exec.go @@ -1,18 +1,12 @@ package gitcli import ( - "context" - "io" "strconv" "strings" "github.com/sourcegraph/log" ) -func (g *gitCLIBackend) Exec(ctx context.Context, args ...string) (io.ReadCloser, error) { - return g.NewCommand(ctx, WithArguments(args...)) -} - var ( // gitCmdAllowlist are commands and arguments that are allowed to execute and are // checked by IsAllowedGitCmd diff --git a/cmd/gitserver/internal/git/gitcli/head.go b/cmd/gitserver/internal/git/gitcli/head.go index bca67f4e801..9d435c7bd2b 100644 --- a/cmd/gitserver/internal/git/gitcli/head.go +++ b/cmd/gitserver/internal/git/gitcli/head.go @@ -18,7 +18,7 @@ func (g *gitCLIBackend) SymbolicRefHead(ctx context.Context, short bool) (refNam // TODO: implement refs_shorten_unambiguous_ref from git: https://sourcegraph.com/github.com/git/git/-/blob/refs.c?L1376, // so QuickSymbolicRefHead can also be used when short=true. if !short { - refName, err = QuickSymbolicRefHead(g.dir) + refName, err = quickSymbolicRefHead(g.dir) if err == nil { return refName, err } @@ -46,7 +46,7 @@ func (g *gitCLIBackend) SymbolicRefHead(ctx context.Context, short bool) (refNam } func (g *gitCLIBackend) RevParseHead(ctx context.Context) (sha api.CommitID, err error) { - shaStr, err := QuickRevParseHead(g.dir) + shaStr, err := quickRevParseHead(g.dir) if err == nil { return api.CommitID(shaStr), nil } @@ -78,9 +78,9 @@ func (g *gitCLIBackend) RevParseHead(ctx context.Context) (sha api.CommitID, err const headFileRefPrefix = "ref: " -// QuickSymbolicRefHead best-effort mimics the execution of `git symbolic-ref HEAD`, but doesn't exec a child process. +// quickSymbolicRefHead best-effort mimics the execution of `git symbolic-ref HEAD`, but doesn't exec a child process. // It just reads the .git/HEAD file from the bare git repository directory. -func QuickSymbolicRefHead(dir common.GitDir) (string, error) { +func quickSymbolicRefHead(dir common.GitDir) (string, error) { // See if HEAD contains a commit hash and fail if so. head, err := os.ReadFile(dir.Path("HEAD")) if err != nil { @@ -99,9 +99,9 @@ func QuickSymbolicRefHead(dir common.GitDir) (string, error) { return string(headRef), nil } -// QuickRevParseHead best-effort mimics the execution of `git rev-parse HEAD`, but doesn't exec a child process. +// quickRevParseHead best-effort mimics the execution of `git rev-parse HEAD`, but doesn't exec a child process. // It just reads the relevant files from the bare git repository directory. -func QuickRevParseHead(dir common.GitDir) (string, error) { +func quickRevParseHead(dir common.GitDir) (string, error) { // See if HEAD contains a commit hash and return it if so. head, err := os.ReadFile(dir.Path("HEAD")) if err != nil { diff --git a/cmd/gitserver/internal/git/gitcli/head_test.go b/cmd/gitserver/internal/git/gitcli/head_test.go index a46a535dd0e..188a9bf0e77 100644 --- a/cmd/gitserver/internal/git/gitcli/head_test.go +++ b/cmd/gitserver/internal/git/gitcli/head_test.go @@ -129,14 +129,14 @@ func BenchmarkQuickRevParseHeadQuickSymbolicRefHead_packed_refs(b *testing.B) { b.ResetTimer() for range b.N { - rev, err := QuickRevParseHead(gitDir) + rev, err := quickRevParseHead(gitDir) if err != nil { b.Fatal(err) } if rev != masterRev { b.Fatal("unexpected rev: ", rev) } - ref, err := QuickSymbolicRefHead(gitDir) + ref, err := quickSymbolicRefHead(gitDir) if err != nil { b.Fatal(err) } @@ -182,14 +182,14 @@ func BenchmarkQuickRevParseHeadQuickSymbolicRefHead_unpacked_refs(b *testing.B) b.ResetTimer() for range b.N { - rev, err := QuickRevParseHead(gitDir) + rev, err := quickRevParseHead(gitDir) if err != nil { b.Fatal(err) } if rev != masterRev { b.Fatal("unexpected rev: ", rev) } - ref, err := QuickSymbolicRefHead(gitDir) + ref, err := quickSymbolicRefHead(gitDir) if err != nil { b.Fatal(err) } diff --git a/cmd/gitserver/internal/git/gitcli/mergebase.go b/cmd/gitserver/internal/git/gitcli/mergebase.go index 103b5a28011..aac3e49b32b 100644 --- a/cmd/gitserver/internal/git/gitcli/mergebase.go +++ b/cmd/gitserver/internal/git/gitcli/mergebase.go @@ -24,7 +24,7 @@ func (g *gitCLIBackend) MergeBase(ctx context.Context, baseRevspec, headRevspec stdout, err := io.ReadAll(out) if err != nil { // Exit code 1 and empty output most likely means that no common merge-base was found. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) { if e.ExitStatus == 1 { if len(e.Stderr) == 0 { diff --git a/cmd/gitserver/internal/git/gitcli/object.go b/cmd/gitserver/internal/git/gitcli/object.go index 1b556621f76..96bf67d3034 100644 --- a/cmd/gitserver/internal/git/gitcli/object.go +++ b/cmd/gitserver/internal/git/gitcli/object.go @@ -46,7 +46,7 @@ func (g *gitCLIBackend) getObjectType(ctx context.Context, objectID string) (git stdout, err := io.ReadAll(r) if err != nil { - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 && (bytes.Contains(e.Stderr, []byte("Not a valid object name")) || bytes.Contains(e.Stderr, []byte("git cat-file: could not get object info"))) { return "", &gitdomain.RevisionNotFoundError{Repo: g.repoName, Spec: objectID} diff --git a/cmd/gitserver/internal/git/gitcli/odb.go b/cmd/gitserver/internal/git/gitcli/odb.go index e44ac22d941..bd233f9291c 100644 --- a/cmd/gitserver/internal/git/gitcli/odb.go +++ b/cmd/gitserver/internal/git/gitcli/odb.go @@ -50,7 +50,7 @@ func (g *gitCLIBackend) GetCommit(ctx context.Context, commit api.CommitID, incl // If exit code is 128 and `fatal: bad object` is part of stderr, most likely we // are referencing a commit that does not exist. // We want to return a gitdomain.RevisionNotFoundError in that case. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 && bytes.Contains(e.Stderr, []byte("fatal: bad object")) { return nil, &gitdomain.RevisionNotFoundError{Repo: g.repoName, Spec: string(commit)} } @@ -175,7 +175,7 @@ func (g *gitCLIBackend) getBlobOID(ctx context.Context, commit api.CommitID, pat // If exit code is 128 and `not a tree object` is part of stderr, most likely we // are referencing a commit that does not exist. // We want to return a gitdomain.RevisionNotFoundError in that case. - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 { if bytes.Contains(e.Stderr, []byte("not a tree object")) || bytes.Contains(e.Stderr, []byte("Not a valid object name")) { return "", &gitdomain.RevisionNotFoundError{Repo: g.repoName, Spec: string(commit)} @@ -225,7 +225,7 @@ func (g *gitCLIBackend) BehindAhead(ctx context.Context, left, right string) (*g out, err := io.ReadAll(rc) if err != nil { - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) { switch { case e.ExitStatus == 128 && bytes.Contains(e.Stderr, []byte("fatal: ambiguous argument")): @@ -262,7 +262,7 @@ func (g *gitCLIBackend) FirstEverCommit(ctx context.Context) (api.CommitID, erro out, err := io.ReadAll(rc) if err != nil { - var cmdFailedErr *CommandFailedError + var cmdFailedErr *commandFailedError if errors.As(err, &cmdFailedErr) { if cmdFailedErr.ExitStatus == 129 && bytes.Contains(cmdFailedErr.Stderr, []byte(revListUsageString)) { // If the error is due to an empty repository, return a sentinel error. @@ -490,7 +490,7 @@ func (it *readDirIterator) Next() (fs.FileInfo, error) { } if err := it.sc.Err(); err != nil { - var cfe *CommandFailedError + var cfe *commandFailedError if errors.As(err, &cfe) { if bytes.Contains(cfe.Stderr, []byte("exists on disk, but not in")) { return nil, &os.PathError{Op: "ls-tree", Path: filepath.ToSlash(it.path), Err: os.ErrNotExist} @@ -515,7 +515,7 @@ func (it *readDirIterator) Next() (fs.FileInfo, error) { func (it *readDirIterator) Close() error { if err := it.r.Close(); err != nil { - var cfe *CommandFailedError + var cfe *commandFailedError if errors.As(err, &cfe) { if bytes.Contains(cfe.Stderr, []byte("exists on disk, but not in")) { return &os.PathError{Op: "ls-tree", Path: filepath.ToSlash(it.path), Err: os.ErrNotExist} diff --git a/cmd/gitserver/internal/git/gitcli/resolverevision.go b/cmd/gitserver/internal/git/gitcli/resolverevision.go index d951f440c7a..b66b8998627 100644 --- a/cmd/gitserver/internal/git/gitcli/resolverevision.go +++ b/cmd/gitserver/internal/git/gitcli/resolverevision.go @@ -40,7 +40,7 @@ func (g *gitCLIBackend) revParse(ctx context.Context, spec string) (api.CommitID stdout, err := io.ReadAll(r) if err != nil { - var e *CommandFailedError + var e *commandFailedError if errors.As(err, &e) && e.ExitStatus == 128 && (bytes.Contains(e.Stderr, []byte("bad revision")) || bytes.Contains(e.Stderr, []byte("unknown revision")) || bytes.Contains(e.Stderr, []byte("expected commit type"))) { diff --git a/cmd/gitserver/internal/git/iface.go b/cmd/gitserver/internal/git/iface.go index 7b4a89e094c..9a5aa8da197 100644 --- a/cmd/gitserver/internal/git/iface.go +++ b/cmd/gitserver/internal/git/iface.go @@ -117,11 +117,6 @@ type GitBackend interface { // Empty branches return an iterator that emits zero commits, not an error. CommitLog(ctx context.Context, opt CommitLogOpts) (CommitLogIterator, error) - // Exec is a temporary helper to run arbitrary git commands from the exec endpoint. - // No new usages of it should be introduced and once the migration is done we will - // remove this method. - Exec(ctx context.Context, args ...string) (io.ReadCloser, error) - // FirstEverCommit returns the first commit ever made to the repository. // // If the repository is empty, a RevisionNotFoundError is returned (as the diff --git a/cmd/gitserver/internal/git/mock.go b/cmd/gitserver/internal/git/mock.go index a013f6296c2..e016ee9c167 100644 --- a/cmd/gitserver/internal/git/mock.go +++ b/cmd/gitserver/internal/git/mock.go @@ -570,9 +570,6 @@ type MockGitBackend struct { // ContributorCountsFunc is an instance of a mock function object // controlling the behavior of the method ContributorCounts. ContributorCountsFunc *GitBackendContributorCountsFunc - // ExecFunc is an instance of a mock function object controlling the - // behavior of the method Exec. - ExecFunc *GitBackendExecFunc // FirstEverCommitFunc is an instance of a mock function object // controlling the behavior of the method FirstEverCommit. FirstEverCommitFunc *GitBackendFirstEverCommitFunc @@ -659,11 +656,6 @@ func NewMockGitBackend() *MockGitBackend { return }, }, - ExecFunc: &GitBackendExecFunc{ - defaultHook: func(context.Context, ...string) (r0 io.ReadCloser, r1 error) { - return - }, - }, FirstEverCommitFunc: &GitBackendFirstEverCommitFunc{ defaultHook: func(context.Context) (r0 api.CommitID, r1 error) { return @@ -781,11 +773,6 @@ func NewStrictMockGitBackend() *MockGitBackend { panic("unexpected invocation of MockGitBackend.ContributorCounts") }, }, - ExecFunc: &GitBackendExecFunc{ - defaultHook: func(context.Context, ...string) (io.ReadCloser, error) { - panic("unexpected invocation of MockGitBackend.Exec") - }, - }, FirstEverCommitFunc: &GitBackendFirstEverCommitFunc{ defaultHook: func(context.Context) (api.CommitID, error) { panic("unexpected invocation of MockGitBackend.FirstEverCommit") @@ -889,9 +876,6 @@ func NewMockGitBackendFrom(i GitBackend) *MockGitBackend { ContributorCountsFunc: &GitBackendContributorCountsFunc{ defaultHook: i.ContributorCounts, }, - ExecFunc: &GitBackendExecFunc{ - defaultHook: i.Exec, - }, FirstEverCommitFunc: &GitBackendFirstEverCommitFunc{ defaultHook: i.FirstEverCommit, }, @@ -1704,120 +1688,6 @@ func (c GitBackendContributorCountsFuncCall) Results() []interface{} { return []interface{}{c.Result0, c.Result1} } -// GitBackendExecFunc describes the behavior when the Exec method of the -// parent MockGitBackend instance is invoked. -type GitBackendExecFunc struct { - defaultHook func(context.Context, ...string) (io.ReadCloser, error) - hooks []func(context.Context, ...string) (io.ReadCloser, error) - history []GitBackendExecFuncCall - mutex sync.Mutex -} - -// Exec delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitBackend) Exec(v0 context.Context, v1 ...string) (io.ReadCloser, error) { - r0, r1 := m.ExecFunc.nextHook()(v0, v1...) - m.ExecFunc.appendCall(GitBackendExecFuncCall{v0, v1, r0, r1}) - return r0, r1 -} - -// SetDefaultHook sets function that is called when the Exec method of the -// parent MockGitBackend instance is invoked and the hook queue is empty. -func (f *GitBackendExecFunc) SetDefaultHook(hook func(context.Context, ...string) (io.ReadCloser, error)) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// Exec method of the parent MockGitBackend instance invokes the hook at the -// front of the queue and discards it. After the queue is empty, the default -// hook function is invoked for any future action. -func (f *GitBackendExecFunc) PushHook(hook func(context.Context, ...string) (io.ReadCloser, error)) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitBackendExecFunc) SetDefaultReturn(r0 io.ReadCloser, r1 error) { - f.SetDefaultHook(func(context.Context, ...string) (io.ReadCloser, error) { - return r0, r1 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitBackendExecFunc) PushReturn(r0 io.ReadCloser, r1 error) { - f.PushHook(func(context.Context, ...string) (io.ReadCloser, error) { - return r0, r1 - }) -} - -func (f *GitBackendExecFunc) nextHook() func(context.Context, ...string) (io.ReadCloser, error) { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitBackendExecFunc) appendCall(r0 GitBackendExecFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitBackendExecFuncCall objects describing -// the invocations of this function. -func (f *GitBackendExecFunc) History() []GitBackendExecFuncCall { - f.mutex.Lock() - history := make([]GitBackendExecFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitBackendExecFuncCall is an object that describes an invocation of -// method Exec on an instance of MockGitBackend. -type GitBackendExecFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 context.Context - // Arg1 is a slice containing the values of the variadic arguments - // passed to this method invocation. - Arg1 []string - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 io.ReadCloser - // Result1 is the value of the 2nd result returned from this method - // invocation. - Result1 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. The variadic slice argument is flattened in this array such -// that one positional argument and three variadic arguments would result in -// a slice of four, not two. -func (c GitBackendExecFuncCall) Args() []interface{} { - trailing := []interface{}{} - for _, val := range c.Arg1 { - trailing = append(trailing, val) - } - - return append([]interface{}{c.Arg0}, trailing...) -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitBackendExecFuncCall) Results() []interface{} { - return []interface{}{c.Result0, c.Result1} -} - // GitBackendFirstEverCommitFunc describes the behavior when the // FirstEverCommit method of the parent MockGitBackend instance is invoked. type GitBackendFirstEverCommitFunc struct { diff --git a/cmd/gitserver/internal/git/observability.go b/cmd/gitserver/internal/git/observability.go index b12149232d9..0b7b0408817 100644 --- a/cmd/gitserver/internal/git/observability.go +++ b/cmd/gitserver/internal/git/observability.go @@ -210,30 +210,6 @@ func (b *observableBackend) ReadFile(ctx context.Context, commit api.CommitID, p }, nil } -func (b *observableBackend) Exec(ctx context.Context, args ...string) (_ io.ReadCloser, err error) { - ctx, errCollector, endObservation := b.operations.exec.WithErrors(ctx, &err, observation.Args{}) - ctx, cancel := context.WithCancel(ctx) - endObservation.OnCancel(ctx, 1, observation.Args{}) - - concurrentOps.WithLabelValues("Exec").Inc() - - r, err := b.backend.Exec(ctx, args...) - if err != nil { - concurrentOps.WithLabelValues("Exec").Dec() - cancel() - return nil, err - } - - return &observableReadCloser{ - inner: r, - endObservation: func(err error) { - concurrentOps.WithLabelValues("Exec").Dec() - errCollector.Collect(&err) - cancel() - }, - }, nil -} - func (b *observableBackend) ArchiveReader(ctx context.Context, format ArchiveFormat, treeish string, paths []string) (_ io.ReadCloser, err error) { ctx, errCollector, endObservation := b.operations.archiveReader.WithErrors(ctx, &err, observation.Args{}) ctx, cancel := context.WithCancel(ctx) @@ -545,7 +521,6 @@ type operations struct { symbolicRefHead *observation.Operation revParseHead *observation.Operation readFile *observation.Operation - exec *observation.Operation getCommit *observation.Operation archiveReader *observation.Operation resolveRevision *observation.Operation @@ -598,7 +573,6 @@ func newOperations(observationCtx *observation.Context) *operations { symbolicRefHead: op("symbolic-ref-head"), revParseHead: op("rev-parse-head"), readFile: op("read-file"), - exec: op("exec"), getCommit: op("get-commit"), archiveReader: op("archive-reader"), resolveRevision: op("resolve-revision"), diff --git a/cmd/gitserver/internal/server_grpc.go b/cmd/gitserver/internal/server_grpc.go index dc3975dfc54..363cdc0787e 100644 --- a/cmd/gitserver/internal/server_grpc.go +++ b/cmd/gitserver/internal/server_grpc.go @@ -5,7 +5,6 @@ import ( "fmt" "io" "os" - "strings" "time" "go.opentelemetry.io/otel/attribute" @@ -16,7 +15,6 @@ import ( "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/accesslog" "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/git" - "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/git/gitcli" "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/gitserverfs" "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/perforce" "github.com/sourcegraph/sourcegraph/internal/api" @@ -135,110 +133,6 @@ func (gs *grpcServer) DiskInfo(_ context.Context, _ *proto.DiskInfoRequest) (*pr }, nil } -func (gs *grpcServer) Exec(req *proto.ExecRequest, ss proto.GitserverService_ExecServer) error { - ctx := ss.Context() - - // Log which actor is accessing the repo. - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - args := byteSlicesToStrings(req.GetArgs()) - logAttrs := []log.Field{} - if len(args) > 0 { - logAttrs = append(logAttrs, - log.String("cmd", args[0]), - log.Strings("args", args[1:]), - ) - } - - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - accesslog.Record(ctx, req.GetRepo(), logAttrs...) - - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - if req.GetRepo() == "" { - return status.New(codes.InvalidArgument, "repo must be specified").Err() - } - - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - repoName := api.RepoName(req.GetRepo()) - repoDir := gs.fs.RepoDir(repoName) - backend := gs.gitBackendSource(repoDir, repoName) - - if err := gs.checkRepoExists(ctx, repoName); err != nil { - return err - } - - w := streamio.NewWriter(func(p []byte) error { - return ss.Send(&proto.ExecResponse{ - Data: p, - }) - }) - - // Special-case `git rev-parse HEAD` requests. These are invoked by search queries for every repo in scope. - // For searches over large repo sets (> 1k), this leads to too many child process execs, which can lead - // to a persistent failure mode where every exec takes > 10s, which is disastrous for gitserver performance. - if len(args) == 2 && args[0] == "rev-parse" && args[1] == "HEAD" { - if resolved, err := gitcli.QuickRevParseHead(repoDir); err == nil && gitdomain.IsAbsoluteRevision(resolved) { - _, _ = w.Write([]byte(resolved)) - return nil - } - } - - // Special-case `git symbolic-ref HEAD` requests. These are invoked by resolvers determining the default branch of a repo. - // For searches over large repo sets (> 1k), this leads to too many child process execs, which can lead - // to a persistent failure mode where every exec takes > 10s, which is disastrous for gitserver performance. - if len(args) == 2 && args[0] == "symbolic-ref" && args[1] == "HEAD" { - if resolved, err := gitcli.QuickSymbolicRefHead(repoDir); err == nil { - _, _ = w.Write([]byte(resolved)) - return nil - } - } - - stdout, err := backend.Exec(ctx, args...) - if err != nil { - if errors.Is(err, gitcli.ErrBadGitCommand) { - return status.New(codes.InvalidArgument, "invalid command").Err() - } - if ctxErr := ctx.Err(); ctxErr != nil { - return status.FromContextError(ctxErr).Err() - } - - return err - } - defer stdout.Close() - - _, err = io.Copy(w, stdout) - if err != nil { - if ctxErr := ctx.Err(); ctxErr != nil { - return status.FromContextError(ctxErr).Err() - } - - commandFailedErr := &gitcli.CommandFailedError{} - if errors.As(err, &commandFailedErr) { - gRPCStatus := codes.Unknown - if strings.Contains(commandFailedErr.Error(), "signal: killed") { - gRPCStatus = codes.Aborted - } - - var errString string - if commandFailedErr.Unwrap() != nil { - errString = commandFailedErr.Unwrap().Error() - } - s, err := status.New(gRPCStatus, errString).WithDetails(&proto.ExecStatusPayload{ - StatusCode: int32(commandFailedErr.ExitStatus), - Stderr: string(commandFailedErr.Stderr), - }) - if err != nil { - gs.logger.Error("failed to marshal status", log.Error(err)) - return err - } - return s.Err() - } - gs.svc.LogIfCorrupt(ctx, repoName, err) - return err - } - - return nil -} - func (gs *grpcServer) Archive(req *proto.ArchiveRequest, ss proto.GitserverService_ArchiveServer) error { ctx := ss.Context() diff --git a/cmd/gitserver/internal/server_grpc_logger.go b/cmd/gitserver/internal/server_grpc_logger.go index 9b678320653..d3fa482e27a 100644 --- a/cmd/gitserver/internal/server_grpc_logger.go +++ b/cmd/gitserver/internal/server_grpc_logger.go @@ -150,38 +150,6 @@ func (l *loggingGRPCServer) DiskInfo(ctx context.Context, request *proto.DiskInf return l.base.DiskInfo(ctx, request) } -func (l *loggingGRPCServer) Exec(request *proto.ExecRequest, server proto.GitserverService_ExecServer) (err error) { - start := time.Now() - - defer func() { - elapsed := time.Since(start) - - doLog( - l.logger, - proto.GitserverService_Exec_FullMethodName, - status.Code(err), - trace.Context(server.Context()).TraceID, - elapsed, - - execRequestToLogFields(request)...) - }() - - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - return l.base.Exec(request, server) -} - -func execRequestToLogFields(req *proto.ExecRequest) []log.Field { - return []log.Field{ - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - log.String("repo", req.GetRepo()), - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - log.String("ensureRevision", string(req.GetEnsureRevision())), - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - log.Strings("args", byteSlicesToStrings(req.GetArgs())), - // 🚨SECURITY: We don't log the stdin field because it could 1) contain sensitive data 2) be very large. - } -} - func (l *loggingGRPCServer) GetObject(ctx context.Context, request *proto.GetObjectRequest) (response *proto.GetObjectResponse, err error) { start := time.Now() diff --git a/cmd/gitserver/internal/server_test.go b/cmd/gitserver/internal/server_test.go index 4520cf84ffd..0722a663437 100644 --- a/cmd/gitserver/internal/server_test.go +++ b/cmd/gitserver/internal/server_test.go @@ -1,14 +1,12 @@ package internal import ( - "bytes" "context" "fmt" "io" "os" "os/exec" "path/filepath" - "strings" "testing" "github.com/sourcegraph/sourcegraph/internal/actor" @@ -18,8 +16,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/time/rate" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" "github.com/sourcegraph/log/logtest" @@ -29,13 +25,10 @@ import ( "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/gitserverfs" "github.com/sourcegraph/sourcegraph/cmd/gitserver/internal/vcssyncer" "github.com/sourcegraph/sourcegraph/internal/api" - "github.com/sourcegraph/sourcegraph/internal/conf" "github.com/sourcegraph/sourcegraph/internal/database" "github.com/sourcegraph/sourcegraph/internal/database/dbmocks" "github.com/sourcegraph/sourcegraph/internal/database/dbtest" - "github.com/sourcegraph/sourcegraph/internal/gitserver" "github.com/sourcegraph/sourcegraph/internal/gitserver/connection" - v1 "github.com/sourcegraph/sourcegraph/internal/gitserver/v1" "github.com/sourcegraph/sourcegraph/internal/limiter" "github.com/sourcegraph/sourcegraph/internal/observation" "github.com/sourcegraph/sourcegraph/internal/ratelimit" @@ -45,204 +38,6 @@ import ( "github.com/sourcegraph/sourcegraph/lib/errors" ) -type Test struct { - Name string - Request *v1.ExecRequest - ExpectedCode codes.Code - ExpectedBody string - ExpectedError string - ExpectedDetails []any -} - -func TestExecRequest(t *testing.T) { - conf.Mock(&conf.Unified{}) - t.Cleanup(func() { conf.Mock(nil) }) - - tests := []Test{ - { - Name: "Command", - Request: &v1.ExecRequest{ - Repo: "github.com/gorilla/mux", - Args: [][]byte{[]byte("diff-tree")}, - }, - ExpectedCode: codes.Unknown, - ExpectedBody: "teststdout", - ExpectedError: "teststderr", - ExpectedDetails: []any{&v1.ExecStatusPayload{ - StatusCode: 42, - Stderr: "teststderr", - }}, - }, - { - Name: "Error", - Request: &v1.ExecRequest{ - Repo: "github.com/gorilla/mux", - Args: [][]byte{[]byte("merge-base")}, - }, - ExpectedCode: codes.Unknown, - ExpectedError: "testerror", - ExpectedDetails: []any{&v1.ExecStatusPayload{ - StatusCode: 1, - Stderr: "teststderr", - }}, - }, - { - Name: "EmptyInput", - Request: &v1.ExecRequest{ - Repo: "github.com/gorilla/mux", - }, - ExpectedCode: codes.InvalidArgument, - ExpectedError: "invalid command", - }, - { - Name: "BadCommand", - Request: &v1.ExecRequest{ - Repo: "github.com/gorilla/mux", - Args: [][]byte{[]byte("invalid-command")}, - }, - ExpectedCode: codes.InvalidArgument, - ExpectedError: "invalid command", - }, - } - - getRemoteURLFunc := func(ctx context.Context, name api.RepoName) (string, error) { - return "https://" + string(name) + ".git", nil - } - - db := dbmocks.NewMockDB() - gr := dbmocks.NewMockGitserverRepoStore() - db.GitserverReposFunc.SetDefaultReturn(gr) - fs := gitserverfs.NewMockFSFrom(gitserverfs.New(&observation.TestContext, t.TempDir())) - require.NoError(t, fs.Initialize()) - s := NewServer(&ServerOpts{ - Logger: logtest.Scoped(t), - FS: fs, - GitBackendSource: func(dir common.GitDir, repoName api.RepoName) git.GitBackend { - backend := git.NewMockGitBackend() - backend.ExecFunc.SetDefaultHook(func(ctx context.Context, args ...string) (io.ReadCloser, error) { - if !gitcli.IsAllowedGitCmd(logtest.Scoped(t), args) { - return nil, gitcli.ErrBadGitCommand - } - - switch args[0] { - case "diff-tree": - var stdout bytes.Buffer - stdout.Write([]byte("teststdout")) - return &errorReader{ - ReadCloser: io.NopCloser(&stdout), - err: &gitcli.CommandFailedError{ - Stderr: []byte("teststderr"), - ExitStatus: 42, - Inner: errors.New("teststderr"), - }, - }, nil - case "merge-base": - return &errorReader{ - ReadCloser: io.NopCloser(&bytes.Buffer{}), - err: &gitcli.CommandFailedError{ - Stderr: []byte("teststderr"), - ExitStatus: 1, - Inner: errors.New("testerror"), - }, - }, nil - } - return io.NopCloser(&bytes.Buffer{}), nil - }) - return backend - }, - GetRemoteURLFunc: getRemoteURLFunc, - GetVCSSyncer: func(ctx context.Context, name api.RepoName) (vcssyncer.VCSSyncer, error) { - - getRemoteURLSource := func(ctx context.Context, name api.RepoName) (vcssyncer.RemoteURLSource, error) { - return vcssyncer.RemoteURLSourceFunc(func(ctx context.Context) (*vcs.URL, error) { - raw := "https://" + string(name) + ".git" - u, err := vcs.ParseURL(raw) - if err != nil { - return nil, errors.Wrapf(err, "failed to parse URL %q", raw) - } - - return u, nil - }), nil - } - - return vcssyncer.NewGitRepoSyncer(logtest.Scoped(t), wrexec.NewNoOpRecordingCommandFactory(), getRemoteURLSource), nil - }, - DB: db, - RecordingCommandFactory: wrexec.NewNoOpRecordingCommandFactory(), - Locker: NewRepositoryLocker(), - RPSLimiter: ratelimit.NewInstrumentedLimiter("GitserverTest", rate.NewLimiter(rate.Inf, 10)), - }) - - gs := NewGRPCServer(s, &GRPCServerConfig{ - ExhaustiveRequestLoggingEnabled: true, - }) - fs.RepoClonedFunc.SetDefaultHook(func(repo api.RepoName) (bool, error) { - if repo == "github.com/gorilla/mux" || repo == "my-mux" { - return true, nil - } - err := s.cloneRepo(context.Background(), repo, NewMockRepositoryLock()) - require.NoError(t, err) - return false, nil - }) - - for _, test := range tests { - t.Run(test.Name, func(t *testing.T) { - ss := gitserver.NewMockGitserverService_ExecServer() - ss.ContextFunc.SetDefaultReturn(context.Background()) - var receivedData []byte - ss.SendFunc.SetDefaultHook(func(er *v1.ExecResponse) error { - receivedData = append(receivedData, er.GetData()...) - return nil - }) - err := gs.Exec(test.Request, ss) - - if test.ExpectedCode == codes.OK && err != nil { - t.Fatal(err) - } - - if test.ExpectedCode != codes.OK { - if err == nil { - t.Fatal("expected error to be returned") - } - s, ok := status.FromError(err) - require.True(t, ok) - require.Equal(t, test.ExpectedCode, s.Code(), "wrong error code: expected %v, got %v %v", test.ExpectedCode, s.Code(), err) - - if len(test.ExpectedDetails) > 0 { - if diff := cmp.Diff(test.ExpectedDetails, s.Details(), cmpopts.IgnoreUnexported(v1.ExecStatusPayload{}, v1.RepoNotFoundPayload{})); diff != "" { - t.Fatalf("unexpected error details (-want +got):\n%s", diff) - } - } - - if strings.TrimSpace(s.Message()) != test.ExpectedError { - t.Errorf("wrong error body: expected %q, got %q", test.ExpectedError, s.Message()) - } - } - - if strings.TrimSpace(string(receivedData)) != test.ExpectedBody { - t.Errorf("wrong body: expected %q, got %q", test.ExpectedBody, string(receivedData)) - } - }) - } -} - -type errorReader struct { - io.ReadCloser - - err error -} - -func (ec *errorReader) Read(p []byte) (int, error) { - n, err := ec.ReadCloser.Read(p) - if err == nil { - return n, nil - } - if err == io.EOF { - return n, ec.err - } - return n, err -} - // makeSingleCommitRepo make create a new repo with a single commit and returns // the HEAD SHA func makeSingleCommitRepo(cmd func(string, ...string) string) string { diff --git a/internal/gitserver/errwrap.go b/internal/gitserver/errwrap.go index ac88744a7e2..afaea471695 100644 --- a/internal/gitserver/errwrap.go +++ b/internal/gitserver/errwrap.go @@ -32,13 +32,6 @@ func convertGRPCErrorToGitDomainError(err error) error { for _, detail := range st.Details() { switch payload := detail.(type) { - case *proto.ExecStatusPayload: - return &CommandStatusError{ - Message: st.Message(), - Stderr: payload.GetStderr(), - StatusCode: payload.GetStatusCode(), - } - case *proto.RepoNotFoundPayload: return &gitdomain.RepoNotExistError{ Repo: api.RepoName(payload.GetRepo()), @@ -105,24 +98,6 @@ func (r *errorTranslatingCreateCommitFromPatchBinaryClient) CloseAndRecv() (*pro return res, convertGRPCErrorToGitDomainError(err) } -func (r *errorTranslatingClient) Exec(ctx context.Context, in *proto.ExecRequest, opts ...grpc.CallOption) (proto.GitserverService_ExecClient, error) { - //lint:ignore SA1019 existing usage of deprecated functionality. We are just logging an existing field. - cc, err := r.base.Exec(ctx, in, opts...) - if err != nil { - return nil, convertGRPCErrorToGitDomainError(err) - } - return &errorTranslatingExecClient{cc}, nil -} - -type errorTranslatingExecClient struct { - proto.GitserverService_ExecClient -} - -func (r *errorTranslatingExecClient) Recv() (*proto.ExecResponse, error) { - res, err := r.GitserverService_ExecClient.Recv() - return res, convertGRPCErrorToGitDomainError(err) -} - func (r *errorTranslatingClient) DiskInfo(ctx context.Context, in *proto.DiskInfoRequest, opts ...grpc.CallOption) (*proto.DiskInfoResponse, error) { res, err := r.base.DiskInfo(ctx, in, opts...) return res, convertGRPCErrorToGitDomainError(err) diff --git a/internal/gitserver/mock.go b/internal/gitserver/mock.go index 146fa4e720b..90341968b28 100644 --- a/internal/gitserver/mock.go +++ b/internal/gitserver/mock.go @@ -51,9 +51,6 @@ type MockGitserverServiceClient struct { // DiskInfoFunc is an instance of a mock function object controlling the // behavior of the method DiskInfo. DiskInfoFunc *GitserverServiceClientDiskInfoFunc - // ExecFunc is an instance of a mock function object controlling the - // behavior of the method Exec. - ExecFunc *GitserverServiceClientExecFunc // FirstEverCommitFunc is an instance of a mock function object // controlling the behavior of the method FirstEverCommit. FirstEverCommitFunc *GitserverServiceClientFirstEverCommitFunc @@ -177,11 +174,6 @@ func NewMockGitserverServiceClient() *MockGitserverServiceClient { return }, }, - ExecFunc: &GitserverServiceClientExecFunc{ - defaultHook: func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (r0 v1.GitserverService_ExecClient, r1 error) { - return - }, - }, FirstEverCommitFunc: &GitserverServiceClientFirstEverCommitFunc{ defaultHook: func(context.Context, *v1.FirstEverCommitRequest, ...grpc.CallOption) (r0 *v1.FirstEverCommitResponse, r1 error) { return @@ -350,11 +342,6 @@ func NewStrictMockGitserverServiceClient() *MockGitserverServiceClient { panic("unexpected invocation of MockGitserverServiceClient.DiskInfo") }, }, - ExecFunc: &GitserverServiceClientExecFunc{ - defaultHook: func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) { - panic("unexpected invocation of MockGitserverServiceClient.Exec") - }, - }, FirstEverCommitFunc: &GitserverServiceClientFirstEverCommitFunc{ defaultHook: func(context.Context, *v1.FirstEverCommitRequest, ...grpc.CallOption) (*v1.FirstEverCommitResponse, error) { panic("unexpected invocation of MockGitserverServiceClient.FirstEverCommit") @@ -503,9 +490,6 @@ func NewMockGitserverServiceClientFrom(i v1.GitserverServiceClient) *MockGitserv DiskInfoFunc: &GitserverServiceClientDiskInfoFunc{ defaultHook: i.DiskInfo, }, - ExecFunc: &GitserverServiceClientExecFunc{ - defaultHook: i.Exec, - }, FirstEverCommitFunc: &GitserverServiceClientFirstEverCommitFunc{ defaultHook: i.FirstEverCommit, }, @@ -1780,124 +1764,6 @@ func (c GitserverServiceClientDiskInfoFuncCall) Results() []interface{} { return []interface{}{c.Result0, c.Result1} } -// GitserverServiceClientExecFunc describes the behavior when the Exec -// method of the parent MockGitserverServiceClient instance is invoked. -type GitserverServiceClientExecFunc struct { - defaultHook func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) - hooks []func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) - history []GitserverServiceClientExecFuncCall - mutex sync.Mutex -} - -// Exec delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverServiceClient) Exec(v0 context.Context, v1 *v1.ExecRequest, v2 ...grpc.CallOption) (v1.GitserverService_ExecClient, error) { - r0, r1 := m.ExecFunc.nextHook()(v0, v1, v2...) - m.ExecFunc.appendCall(GitserverServiceClientExecFuncCall{v0, v1, v2, r0, r1}) - return r0, r1 -} - -// SetDefaultHook sets function that is called when the Exec method of the -// parent MockGitserverServiceClient instance is invoked and the hook queue -// is empty. -func (f *GitserverServiceClientExecFunc) SetDefaultHook(hook func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error)) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// Exec method of the parent MockGitserverServiceClient instance invokes the -// hook at the front of the queue and discards it. After the queue is empty, -// the default hook function is invoked for any future action. -func (f *GitserverServiceClientExecFunc) PushHook(hook func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error)) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverServiceClientExecFunc) SetDefaultReturn(r0 v1.GitserverService_ExecClient, r1 error) { - f.SetDefaultHook(func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) { - return r0, r1 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverServiceClientExecFunc) PushReturn(r0 v1.GitserverService_ExecClient, r1 error) { - f.PushHook(func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) { - return r0, r1 - }) -} - -func (f *GitserverServiceClientExecFunc) nextHook() func(context.Context, *v1.ExecRequest, ...grpc.CallOption) (v1.GitserverService_ExecClient, error) { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverServiceClientExecFunc) appendCall(r0 GitserverServiceClientExecFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitserverServiceClientExecFuncCall objects -// describing the invocations of this function. -func (f *GitserverServiceClientExecFunc) History() []GitserverServiceClientExecFuncCall { - f.mutex.Lock() - history := make([]GitserverServiceClientExecFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverServiceClientExecFuncCall is an object that describes an -// invocation of method Exec on an instance of MockGitserverServiceClient. -type GitserverServiceClientExecFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 context.Context - // Arg1 is the value of the 2nd argument passed to this method - // invocation. - Arg1 *v1.ExecRequest - // Arg2 is a slice containing the values of the variadic arguments - // passed to this method invocation. - Arg2 []grpc.CallOption - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 v1.GitserverService_ExecClient - // Result1 is the value of the 2nd result returned from this method - // invocation. - Result1 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. The variadic slice argument is flattened in this array such -// that one positional argument and three variadic arguments would result in -// a slice of four, not two. -func (c GitserverServiceClientExecFuncCall) Args() []interface{} { - trailing := []interface{}{} - for _, val := range c.Arg2 { - trailing = append(trailing, val) - } - - return append([]interface{}{c.Arg0, c.Arg1}, trailing...) -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverServiceClientExecFuncCall) Results() []interface{} { - return []interface{}{c.Result0, c.Result1} -} - // GitserverServiceClientFirstEverCommitFunc describes the behavior when the // FirstEverCommit method of the parent MockGitserverServiceClient instance // is invoked. @@ -11566,880 +11432,6 @@ func (c GitserverService_CommitLogServerSetTrailerFuncCall) Results() []interfac return []interface{}{} } -// MockGitserverService_ExecServer is a mock implementation of the -// GitserverService_ExecServer interface (from the package -// github.com/sourcegraph/sourcegraph/internal/gitserver/v1) used for unit -// testing. -type MockGitserverService_ExecServer struct { - // ContextFunc is an instance of a mock function object controlling the - // behavior of the method Context. - ContextFunc *GitserverService_ExecServerContextFunc - // RecvMsgFunc is an instance of a mock function object controlling the - // behavior of the method RecvMsg. - RecvMsgFunc *GitserverService_ExecServerRecvMsgFunc - // SendFunc is an instance of a mock function object controlling the - // behavior of the method Send. - SendFunc *GitserverService_ExecServerSendFunc - // SendHeaderFunc is an instance of a mock function object controlling - // the behavior of the method SendHeader. - SendHeaderFunc *GitserverService_ExecServerSendHeaderFunc - // SendMsgFunc is an instance of a mock function object controlling the - // behavior of the method SendMsg. - SendMsgFunc *GitserverService_ExecServerSendMsgFunc - // SetHeaderFunc is an instance of a mock function object controlling - // the behavior of the method SetHeader. - SetHeaderFunc *GitserverService_ExecServerSetHeaderFunc - // SetTrailerFunc is an instance of a mock function object controlling - // the behavior of the method SetTrailer. - SetTrailerFunc *GitserverService_ExecServerSetTrailerFunc -} - -// NewMockGitserverService_ExecServer creates a new mock of the -// GitserverService_ExecServer interface. All methods return zero values for -// all results, unless overwritten. -func NewMockGitserverService_ExecServer() *MockGitserverService_ExecServer { - return &MockGitserverService_ExecServer{ - ContextFunc: &GitserverService_ExecServerContextFunc{ - defaultHook: func() (r0 context.Context) { - return - }, - }, - RecvMsgFunc: &GitserverService_ExecServerRecvMsgFunc{ - defaultHook: func(interface{}) (r0 error) { - return - }, - }, - SendFunc: &GitserverService_ExecServerSendFunc{ - defaultHook: func(*v1.ExecResponse) (r0 error) { - return - }, - }, - SendHeaderFunc: &GitserverService_ExecServerSendHeaderFunc{ - defaultHook: func(metadata.MD) (r0 error) { - return - }, - }, - SendMsgFunc: &GitserverService_ExecServerSendMsgFunc{ - defaultHook: func(interface{}) (r0 error) { - return - }, - }, - SetHeaderFunc: &GitserverService_ExecServerSetHeaderFunc{ - defaultHook: func(metadata.MD) (r0 error) { - return - }, - }, - SetTrailerFunc: &GitserverService_ExecServerSetTrailerFunc{ - defaultHook: func(metadata.MD) { - return - }, - }, - } -} - -// NewStrictMockGitserverService_ExecServer creates a new mock of the -// GitserverService_ExecServer interface. All methods panic on invocation, -// unless overwritten. -func NewStrictMockGitserverService_ExecServer() *MockGitserverService_ExecServer { - return &MockGitserverService_ExecServer{ - ContextFunc: &GitserverService_ExecServerContextFunc{ - defaultHook: func() context.Context { - panic("unexpected invocation of MockGitserverService_ExecServer.Context") - }, - }, - RecvMsgFunc: &GitserverService_ExecServerRecvMsgFunc{ - defaultHook: func(interface{}) error { - panic("unexpected invocation of MockGitserverService_ExecServer.RecvMsg") - }, - }, - SendFunc: &GitserverService_ExecServerSendFunc{ - defaultHook: func(*v1.ExecResponse) error { - panic("unexpected invocation of MockGitserverService_ExecServer.Send") - }, - }, - SendHeaderFunc: &GitserverService_ExecServerSendHeaderFunc{ - defaultHook: func(metadata.MD) error { - panic("unexpected invocation of MockGitserverService_ExecServer.SendHeader") - }, - }, - SendMsgFunc: &GitserverService_ExecServerSendMsgFunc{ - defaultHook: func(interface{}) error { - panic("unexpected invocation of MockGitserverService_ExecServer.SendMsg") - }, - }, - SetHeaderFunc: &GitserverService_ExecServerSetHeaderFunc{ - defaultHook: func(metadata.MD) error { - panic("unexpected invocation of MockGitserverService_ExecServer.SetHeader") - }, - }, - SetTrailerFunc: &GitserverService_ExecServerSetTrailerFunc{ - defaultHook: func(metadata.MD) { - panic("unexpected invocation of MockGitserverService_ExecServer.SetTrailer") - }, - }, - } -} - -// NewMockGitserverService_ExecServerFrom creates a new mock of the -// MockGitserverService_ExecServer interface. All methods delegate to the -// given implementation, unless overwritten. -func NewMockGitserverService_ExecServerFrom(i v1.GitserverService_ExecServer) *MockGitserverService_ExecServer { - return &MockGitserverService_ExecServer{ - ContextFunc: &GitserverService_ExecServerContextFunc{ - defaultHook: i.Context, - }, - RecvMsgFunc: &GitserverService_ExecServerRecvMsgFunc{ - defaultHook: i.RecvMsg, - }, - SendFunc: &GitserverService_ExecServerSendFunc{ - defaultHook: i.Send, - }, - SendHeaderFunc: &GitserverService_ExecServerSendHeaderFunc{ - defaultHook: i.SendHeader, - }, - SendMsgFunc: &GitserverService_ExecServerSendMsgFunc{ - defaultHook: i.SendMsg, - }, - SetHeaderFunc: &GitserverService_ExecServerSetHeaderFunc{ - defaultHook: i.SetHeader, - }, - SetTrailerFunc: &GitserverService_ExecServerSetTrailerFunc{ - defaultHook: i.SetTrailer, - }, - } -} - -// GitserverService_ExecServerContextFunc describes the behavior when the -// Context method of the parent MockGitserverService_ExecServer instance is -// invoked. -type GitserverService_ExecServerContextFunc struct { - defaultHook func() context.Context - hooks []func() context.Context - history []GitserverService_ExecServerContextFuncCall - mutex sync.Mutex -} - -// Context delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) Context() context.Context { - r0 := m.ContextFunc.nextHook()() - m.ContextFunc.appendCall(GitserverService_ExecServerContextFuncCall{r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the Context method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerContextFunc) SetDefaultHook(hook func() context.Context) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// Context method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerContextFunc) PushHook(hook func() context.Context) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerContextFunc) SetDefaultReturn(r0 context.Context) { - f.SetDefaultHook(func() context.Context { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerContextFunc) PushReturn(r0 context.Context) { - f.PushHook(func() context.Context { - return r0 - }) -} - -func (f *GitserverService_ExecServerContextFunc) nextHook() func() context.Context { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerContextFunc) appendCall(r0 GitserverService_ExecServerContextFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitserverService_ExecServerContextFuncCall -// objects describing the invocations of this function. -func (f *GitserverService_ExecServerContextFunc) History() []GitserverService_ExecServerContextFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerContextFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerContextFuncCall is an object that describes an -// invocation of method Context on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerContextFuncCall struct { - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 context.Context -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerContextFuncCall) Args() []interface{} { - return []interface{}{} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerContextFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerRecvMsgFunc describes the behavior when the -// RecvMsg method of the parent MockGitserverService_ExecServer instance is -// invoked. -type GitserverService_ExecServerRecvMsgFunc struct { - defaultHook func(interface{}) error - hooks []func(interface{}) error - history []GitserverService_ExecServerRecvMsgFuncCall - mutex sync.Mutex -} - -// RecvMsg delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) RecvMsg(v0 interface{}) error { - r0 := m.RecvMsgFunc.nextHook()(v0) - m.RecvMsgFunc.appendCall(GitserverService_ExecServerRecvMsgFuncCall{v0, r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the RecvMsg method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerRecvMsgFunc) SetDefaultHook(hook func(interface{}) error) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// RecvMsg method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerRecvMsgFunc) PushHook(hook func(interface{}) error) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerRecvMsgFunc) SetDefaultReturn(r0 error) { - f.SetDefaultHook(func(interface{}) error { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerRecvMsgFunc) PushReturn(r0 error) { - f.PushHook(func(interface{}) error { - return r0 - }) -} - -func (f *GitserverService_ExecServerRecvMsgFunc) nextHook() func(interface{}) error { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerRecvMsgFunc) appendCall(r0 GitserverService_ExecServerRecvMsgFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitserverService_ExecServerRecvMsgFuncCall -// objects describing the invocations of this function. -func (f *GitserverService_ExecServerRecvMsgFunc) History() []GitserverService_ExecServerRecvMsgFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerRecvMsgFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerRecvMsgFuncCall is an object that describes an -// invocation of method RecvMsg on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerRecvMsgFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 interface{} - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerRecvMsgFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerRecvMsgFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerSendFunc describes the behavior when the Send -// method of the parent MockGitserverService_ExecServer instance is invoked. -type GitserverService_ExecServerSendFunc struct { - defaultHook func(*v1.ExecResponse) error - hooks []func(*v1.ExecResponse) error - history []GitserverService_ExecServerSendFuncCall - mutex sync.Mutex -} - -// Send delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) Send(v0 *v1.ExecResponse) error { - r0 := m.SendFunc.nextHook()(v0) - m.SendFunc.appendCall(GitserverService_ExecServerSendFuncCall{v0, r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the Send method of the -// parent MockGitserverService_ExecServer instance is invoked and the hook -// queue is empty. -func (f *GitserverService_ExecServerSendFunc) SetDefaultHook(hook func(*v1.ExecResponse) error) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// Send method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerSendFunc) PushHook(hook func(*v1.ExecResponse) error) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerSendFunc) SetDefaultReturn(r0 error) { - f.SetDefaultHook(func(*v1.ExecResponse) error { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerSendFunc) PushReturn(r0 error) { - f.PushHook(func(*v1.ExecResponse) error { - return r0 - }) -} - -func (f *GitserverService_ExecServerSendFunc) nextHook() func(*v1.ExecResponse) error { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerSendFunc) appendCall(r0 GitserverService_ExecServerSendFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitserverService_ExecServerSendFuncCall -// objects describing the invocations of this function. -func (f *GitserverService_ExecServerSendFunc) History() []GitserverService_ExecServerSendFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerSendFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerSendFuncCall is an object that describes an -// invocation of method Send on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerSendFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 *v1.ExecResponse - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerSendFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerSendFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerSendHeaderFunc describes the behavior when the -// SendHeader method of the parent MockGitserverService_ExecServer instance -// is invoked. -type GitserverService_ExecServerSendHeaderFunc struct { - defaultHook func(metadata.MD) error - hooks []func(metadata.MD) error - history []GitserverService_ExecServerSendHeaderFuncCall - mutex sync.Mutex -} - -// SendHeader delegates to the next hook function in the queue and stores -// the parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) SendHeader(v0 metadata.MD) error { - r0 := m.SendHeaderFunc.nextHook()(v0) - m.SendHeaderFunc.appendCall(GitserverService_ExecServerSendHeaderFuncCall{v0, r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the SendHeader method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerSendHeaderFunc) SetDefaultHook(hook func(metadata.MD) error) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// SendHeader method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerSendHeaderFunc) PushHook(hook func(metadata.MD) error) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerSendHeaderFunc) SetDefaultReturn(r0 error) { - f.SetDefaultHook(func(metadata.MD) error { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerSendHeaderFunc) PushReturn(r0 error) { - f.PushHook(func(metadata.MD) error { - return r0 - }) -} - -func (f *GitserverService_ExecServerSendHeaderFunc) nextHook() func(metadata.MD) error { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerSendHeaderFunc) appendCall(r0 GitserverService_ExecServerSendHeaderFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of -// GitserverService_ExecServerSendHeaderFuncCall objects describing the -// invocations of this function. -func (f *GitserverService_ExecServerSendHeaderFunc) History() []GitserverService_ExecServerSendHeaderFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerSendHeaderFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerSendHeaderFuncCall is an object that describes -// an invocation of method SendHeader on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerSendHeaderFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 metadata.MD - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerSendHeaderFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerSendHeaderFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerSendMsgFunc describes the behavior when the -// SendMsg method of the parent MockGitserverService_ExecServer instance is -// invoked. -type GitserverService_ExecServerSendMsgFunc struct { - defaultHook func(interface{}) error - hooks []func(interface{}) error - history []GitserverService_ExecServerSendMsgFuncCall - mutex sync.Mutex -} - -// SendMsg delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) SendMsg(v0 interface{}) error { - r0 := m.SendMsgFunc.nextHook()(v0) - m.SendMsgFunc.appendCall(GitserverService_ExecServerSendMsgFuncCall{v0, r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the SendMsg method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerSendMsgFunc) SetDefaultHook(hook func(interface{}) error) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// SendMsg method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerSendMsgFunc) PushHook(hook func(interface{}) error) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerSendMsgFunc) SetDefaultReturn(r0 error) { - f.SetDefaultHook(func(interface{}) error { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerSendMsgFunc) PushReturn(r0 error) { - f.PushHook(func(interface{}) error { - return r0 - }) -} - -func (f *GitserverService_ExecServerSendMsgFunc) nextHook() func(interface{}) error { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerSendMsgFunc) appendCall(r0 GitserverService_ExecServerSendMsgFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of GitserverService_ExecServerSendMsgFuncCall -// objects describing the invocations of this function. -func (f *GitserverService_ExecServerSendMsgFunc) History() []GitserverService_ExecServerSendMsgFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerSendMsgFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerSendMsgFuncCall is an object that describes an -// invocation of method SendMsg on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerSendMsgFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 interface{} - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerSendMsgFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerSendMsgFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerSetHeaderFunc describes the behavior when the -// SetHeader method of the parent MockGitserverService_ExecServer instance -// is invoked. -type GitserverService_ExecServerSetHeaderFunc struct { - defaultHook func(metadata.MD) error - hooks []func(metadata.MD) error - history []GitserverService_ExecServerSetHeaderFuncCall - mutex sync.Mutex -} - -// SetHeader delegates to the next hook function in the queue and stores the -// parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) SetHeader(v0 metadata.MD) error { - r0 := m.SetHeaderFunc.nextHook()(v0) - m.SetHeaderFunc.appendCall(GitserverService_ExecServerSetHeaderFuncCall{v0, r0}) - return r0 -} - -// SetDefaultHook sets function that is called when the SetHeader method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerSetHeaderFunc) SetDefaultHook(hook func(metadata.MD) error) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// SetHeader method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerSetHeaderFunc) PushHook(hook func(metadata.MD) error) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerSetHeaderFunc) SetDefaultReturn(r0 error) { - f.SetDefaultHook(func(metadata.MD) error { - return r0 - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerSetHeaderFunc) PushReturn(r0 error) { - f.PushHook(func(metadata.MD) error { - return r0 - }) -} - -func (f *GitserverService_ExecServerSetHeaderFunc) nextHook() func(metadata.MD) error { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerSetHeaderFunc) appendCall(r0 GitserverService_ExecServerSetHeaderFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of -// GitserverService_ExecServerSetHeaderFuncCall objects describing the -// invocations of this function. -func (f *GitserverService_ExecServerSetHeaderFunc) History() []GitserverService_ExecServerSetHeaderFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerSetHeaderFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerSetHeaderFuncCall is an object that describes -// an invocation of method SetHeader on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerSetHeaderFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 metadata.MD - // Result0 is the value of the 1st result returned from this method - // invocation. - Result0 error -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerSetHeaderFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerSetHeaderFuncCall) Results() []interface{} { - return []interface{}{c.Result0} -} - -// GitserverService_ExecServerSetTrailerFunc describes the behavior when the -// SetTrailer method of the parent MockGitserverService_ExecServer instance -// is invoked. -type GitserverService_ExecServerSetTrailerFunc struct { - defaultHook func(metadata.MD) - hooks []func(metadata.MD) - history []GitserverService_ExecServerSetTrailerFuncCall - mutex sync.Mutex -} - -// SetTrailer delegates to the next hook function in the queue and stores -// the parameter and result values of this invocation. -func (m *MockGitserverService_ExecServer) SetTrailer(v0 metadata.MD) { - m.SetTrailerFunc.nextHook()(v0) - m.SetTrailerFunc.appendCall(GitserverService_ExecServerSetTrailerFuncCall{v0}) - return -} - -// SetDefaultHook sets function that is called when the SetTrailer method of -// the parent MockGitserverService_ExecServer instance is invoked and the -// hook queue is empty. -func (f *GitserverService_ExecServerSetTrailerFunc) SetDefaultHook(hook func(metadata.MD)) { - f.defaultHook = hook -} - -// PushHook adds a function to the end of hook queue. Each invocation of the -// SetTrailer method of the parent MockGitserverService_ExecServer instance -// invokes the hook at the front of the queue and discards it. After the -// queue is empty, the default hook function is invoked for any future -// action. -func (f *GitserverService_ExecServerSetTrailerFunc) PushHook(hook func(metadata.MD)) { - f.mutex.Lock() - f.hooks = append(f.hooks, hook) - f.mutex.Unlock() -} - -// SetDefaultReturn calls SetDefaultHook with a function that returns the -// given values. -func (f *GitserverService_ExecServerSetTrailerFunc) SetDefaultReturn() { - f.SetDefaultHook(func(metadata.MD) { - return - }) -} - -// PushReturn calls PushHook with a function that returns the given values. -func (f *GitserverService_ExecServerSetTrailerFunc) PushReturn() { - f.PushHook(func(metadata.MD) { - return - }) -} - -func (f *GitserverService_ExecServerSetTrailerFunc) nextHook() func(metadata.MD) { - f.mutex.Lock() - defer f.mutex.Unlock() - - if len(f.hooks) == 0 { - return f.defaultHook - } - - hook := f.hooks[0] - f.hooks = f.hooks[1:] - return hook -} - -func (f *GitserverService_ExecServerSetTrailerFunc) appendCall(r0 GitserverService_ExecServerSetTrailerFuncCall) { - f.mutex.Lock() - f.history = append(f.history, r0) - f.mutex.Unlock() -} - -// History returns a sequence of -// GitserverService_ExecServerSetTrailerFuncCall objects describing the -// invocations of this function. -func (f *GitserverService_ExecServerSetTrailerFunc) History() []GitserverService_ExecServerSetTrailerFuncCall { - f.mutex.Lock() - history := make([]GitserverService_ExecServerSetTrailerFuncCall, len(f.history)) - copy(history, f.history) - f.mutex.Unlock() - - return history -} - -// GitserverService_ExecServerSetTrailerFuncCall is an object that describes -// an invocation of method SetTrailer on an instance of -// MockGitserverService_ExecServer. -type GitserverService_ExecServerSetTrailerFuncCall struct { - // Arg0 is the value of the 1st argument passed to this method - // invocation. - Arg0 metadata.MD -} - -// Args returns an interface slice containing the arguments of this -// invocation. -func (c GitserverService_ExecServerSetTrailerFuncCall) Args() []interface{} { - return []interface{}{c.Arg0} -} - -// Results returns an interface slice containing the results of this -// invocation. -func (c GitserverService_ExecServerSetTrailerFuncCall) Results() []interface{} { - return []interface{}{} -} - // MockGitserverService_ListRefsClient is a mock implementation of the // GitserverService_ListRefsClient interface (from the package // github.com/sourcegraph/sourcegraph/internal/gitserver/v1) used for unit diff --git a/internal/gitserver/retry.go b/internal/gitserver/retry.go index 1da08dc80a6..e2eece7f55a 100644 --- a/internal/gitserver/retry.go +++ b/internal/gitserver/retry.go @@ -30,16 +30,6 @@ func (r *automaticRetryClient) CreateCommitFromPatchBinary(ctx context.Context, // Idempotent methods. -func (r *automaticRetryClient) Exec(ctx context.Context, in *proto.ExecRequest, opts ...grpc.CallOption) (proto.GitserverService_ExecClient, error) { - // We specify the specific raw git commands that we allow in internal/gitserver/gitdomain/exec.go. - // For all of these commands, we know that they are either: - // - // - 1. non-destructive (making them safe to retry) - // - 2. not used in Exec directly, but instead only via a specific RPC (like CreateCommitFromPatchBinary) where the caller is responsible for retrying. - opts = append(defaults.RetryPolicy, opts...) - return r.base.Exec(ctx, in, opts...) -} - func (r *automaticRetryClient) DiskInfo(ctx context.Context, in *proto.DiskInfoRequest, opts ...grpc.CallOption) (*proto.DiskInfoResponse, error) { opts = append(defaults.RetryPolicy, opts...) return r.base.DiskInfo(ctx, in, opts...) diff --git a/internal/gitserver/v1/gitserver.pb.go b/internal/gitserver/v1/gitserver.pb.go index c7bda28b342..abe7509a43f 100644 --- a/internal/gitserver/v1/gitserver.pb.go +++ b/internal/gitserver/v1/gitserver.pb.go @@ -333,7 +333,7 @@ func (x GitObject_ObjectType) Number() protoreflect.EnumNumber { // Deprecated: Use GitObject_ObjectType.Descriptor instead. func (GitObject_ObjectType) EnumDescriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{78, 0} + return file_gitserver_proto_rawDescGZIP(), []int{75, 0} } // PerforceChangelistState is the valid state values of a Perforce changelist. @@ -391,7 +391,7 @@ func (x PerforceChangelist_PerforceChangelistState) Number() protoreflect.EnumNu // Deprecated: Use PerforceChangelist_PerforceChangelistState.Descriptor instead. func (PerforceChangelist_PerforceChangelistState) EnumDescriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{86, 0} + return file_gitserver_proto_rawDescGZIP(), []int{83, 0} } // status is the status of the path. @@ -447,7 +447,7 @@ func (x ChangedFile_Status) Number() protoreflect.EnumNumber { // Deprecated: Use ChangedFile_Status.Descriptor instead. func (ChangedFile_Status) EnumDescriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{107, 0} + return file_gitserver_proto_rawDescGZIP(), []int{104, 0} } type ListRepositoriesRequest struct { @@ -3565,144 +3565,6 @@ func (x *CreateCommitFromPatchBinaryResponse) GetChangelistId() string { return "" } -type ExecRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated: Marked as deprecated in gitserver.proto. - Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` - // Deprecated: Marked as deprecated in gitserver.proto. - EnsureRevision []byte `protobuf:"bytes,2,opt,name=ensure_revision,json=ensureRevision,proto3" json:"ensure_revision,omitempty"` - // Deprecated: Marked as deprecated in gitserver.proto. - Args [][]byte `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - // Deprecated: Marked as deprecated in gitserver.proto. - Stdin []byte `protobuf:"bytes,4,opt,name=stdin,proto3" json:"stdin,omitempty"` - // Deprecated: Marked as deprecated in gitserver.proto. - NoTimeout bool `protobuf:"varint,5,opt,name=no_timeout,json=noTimeout,proto3" json:"no_timeout,omitempty"` -} - -func (x *ExecRequest) Reset() { - *x = ExecRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecRequest) ProtoMessage() {} - -func (x *ExecRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecRequest.ProtoReflect.Descriptor instead. -func (*ExecRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{47} -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecRequest) GetRepo() string { - if x != nil { - return x.Repo - } - return "" -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecRequest) GetEnsureRevision() []byte { - if x != nil { - return x.EnsureRevision - } - return nil -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecRequest) GetArgs() [][]byte { - if x != nil { - return x.Args - } - return nil -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecRequest) GetStdin() []byte { - if x != nil { - return x.Stdin - } - return nil -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecRequest) GetNoTimeout() bool { - if x != nil { - return x.NoTimeout - } - return false -} - -type ExecResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated: Marked as deprecated in gitserver.proto. - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *ExecResponse) Reset() { - *x = ExecResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecResponse) ProtoMessage() {} - -func (x *ExecResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecResponse.ProtoReflect.Descriptor instead. -func (*ExecResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{48} -} - -// Deprecated: Marked as deprecated in gitserver.proto. -func (x *ExecResponse) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - type RepoNotFoundPayload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3716,7 +3578,7 @@ type RepoNotFoundPayload struct { func (x *RepoNotFoundPayload) Reset() { *x = RepoNotFoundPayload{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[49] + mi := &file_gitserver_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3729,7 +3591,7 @@ func (x *RepoNotFoundPayload) String() string { func (*RepoNotFoundPayload) ProtoMessage() {} func (x *RepoNotFoundPayload) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[49] + mi := &file_gitserver_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3742,7 +3604,7 @@ func (x *RepoNotFoundPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use RepoNotFoundPayload.ProtoReflect.Descriptor instead. func (*RepoNotFoundPayload) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{49} + return file_gitserver_proto_rawDescGZIP(), []int{47} } func (x *RepoNotFoundPayload) GetRepo() string { @@ -3778,7 +3640,7 @@ type RevisionNotFoundPayload struct { func (x *RevisionNotFoundPayload) Reset() { *x = RevisionNotFoundPayload{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[50] + mi := &file_gitserver_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3791,7 +3653,7 @@ func (x *RevisionNotFoundPayload) String() string { func (*RevisionNotFoundPayload) ProtoMessage() {} func (x *RevisionNotFoundPayload) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[50] + mi := &file_gitserver_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3804,7 +3666,7 @@ func (x *RevisionNotFoundPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use RevisionNotFoundPayload.ProtoReflect.Descriptor instead. func (*RevisionNotFoundPayload) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{50} + return file_gitserver_proto_rawDescGZIP(), []int{48} } func (x *RevisionNotFoundPayload) GetRepo() string { @@ -3834,7 +3696,7 @@ type FileNotFoundPayload struct { func (x *FileNotFoundPayload) Reset() { *x = FileNotFoundPayload{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[51] + mi := &file_gitserver_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3847,7 +3709,7 @@ func (x *FileNotFoundPayload) String() string { func (*FileNotFoundPayload) ProtoMessage() {} func (x *FileNotFoundPayload) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[51] + mi := &file_gitserver_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3860,7 +3722,7 @@ func (x *FileNotFoundPayload) ProtoReflect() protoreflect.Message { // Deprecated: Use FileNotFoundPayload.ProtoReflect.Descriptor instead. func (*FileNotFoundPayload) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{51} + return file_gitserver_proto_rawDescGZIP(), []int{49} } func (x *FileNotFoundPayload) GetRepo() string { @@ -3884,61 +3746,6 @@ func (x *FileNotFoundPayload) GetPath() []byte { return nil } -type ExecStatusPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatusCode int32 `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` - Stderr string `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"` -} - -func (x *ExecStatusPayload) Reset() { - *x = ExecStatusPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecStatusPayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecStatusPayload) ProtoMessage() {} - -func (x *ExecStatusPayload) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExecStatusPayload.ProtoReflect.Descriptor instead. -func (*ExecStatusPayload) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{52} -} - -func (x *ExecStatusPayload) GetStatusCode() int32 { - if x != nil { - return x.StatusCode - } - return 0 -} - -func (x *ExecStatusPayload) GetStderr() string { - if x != nil { - return x.Stderr - } - return "" -} - type SearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3966,7 +3773,7 @@ type SearchRequest struct { func (x *SearchRequest) Reset() { *x = SearchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[53] + mi := &file_gitserver_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3979,7 +3786,7 @@ func (x *SearchRequest) String() string { func (*SearchRequest) ProtoMessage() {} func (x *SearchRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[53] + mi := &file_gitserver_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3992,7 +3799,7 @@ func (x *SearchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. func (*SearchRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{53} + return file_gitserver_proto_rawDescGZIP(), []int{50} } func (x *SearchRequest) GetRepo() string { @@ -4050,7 +3857,7 @@ type RevisionSpecifier struct { func (x *RevisionSpecifier) Reset() { *x = RevisionSpecifier{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[54] + mi := &file_gitserver_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4063,7 +3870,7 @@ func (x *RevisionSpecifier) String() string { func (*RevisionSpecifier) ProtoMessage() {} func (x *RevisionSpecifier) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[54] + mi := &file_gitserver_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4076,7 +3883,7 @@ func (x *RevisionSpecifier) ProtoReflect() protoreflect.Message { // Deprecated: Use RevisionSpecifier.ProtoReflect.Descriptor instead. func (*RevisionSpecifier) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{54} + return file_gitserver_proto_rawDescGZIP(), []int{51} } func (x *RevisionSpecifier) GetRevSpec() string { @@ -4100,7 +3907,7 @@ type AuthorMatchesNode struct { func (x *AuthorMatchesNode) Reset() { *x = AuthorMatchesNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[55] + mi := &file_gitserver_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4113,7 +3920,7 @@ func (x *AuthorMatchesNode) String() string { func (*AuthorMatchesNode) ProtoMessage() {} func (x *AuthorMatchesNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[55] + mi := &file_gitserver_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4126,7 +3933,7 @@ func (x *AuthorMatchesNode) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthorMatchesNode.ProtoReflect.Descriptor instead. func (*AuthorMatchesNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{55} + return file_gitserver_proto_rawDescGZIP(), []int{52} } func (x *AuthorMatchesNode) GetExpr() string { @@ -4157,7 +3964,7 @@ type CommitterMatchesNode struct { func (x *CommitterMatchesNode) Reset() { *x = CommitterMatchesNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[56] + mi := &file_gitserver_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4170,7 +3977,7 @@ func (x *CommitterMatchesNode) String() string { func (*CommitterMatchesNode) ProtoMessage() {} func (x *CommitterMatchesNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[56] + mi := &file_gitserver_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4183,7 +3990,7 @@ func (x *CommitterMatchesNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitterMatchesNode.ProtoReflect.Descriptor instead. func (*CommitterMatchesNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{56} + return file_gitserver_proto_rawDescGZIP(), []int{53} } func (x *CommitterMatchesNode) GetExpr() string { @@ -4213,7 +4020,7 @@ type CommitBeforeNode struct { func (x *CommitBeforeNode) Reset() { *x = CommitBeforeNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[57] + mi := &file_gitserver_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4226,7 +4033,7 @@ func (x *CommitBeforeNode) String() string { func (*CommitBeforeNode) ProtoMessage() {} func (x *CommitBeforeNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[57] + mi := &file_gitserver_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4239,7 +4046,7 @@ func (x *CommitBeforeNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitBeforeNode.ProtoReflect.Descriptor instead. func (*CommitBeforeNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{57} + return file_gitserver_proto_rawDescGZIP(), []int{54} } func (x *CommitBeforeNode) GetTimestamp() *timestamppb.Timestamp { @@ -4262,7 +4069,7 @@ type CommitAfterNode struct { func (x *CommitAfterNode) Reset() { *x = CommitAfterNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[58] + mi := &file_gitserver_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4275,7 +4082,7 @@ func (x *CommitAfterNode) String() string { func (*CommitAfterNode) ProtoMessage() {} func (x *CommitAfterNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[58] + mi := &file_gitserver_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4288,7 +4095,7 @@ func (x *CommitAfterNode) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitAfterNode.ProtoReflect.Descriptor instead. func (*CommitAfterNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{58} + return file_gitserver_proto_rawDescGZIP(), []int{55} } func (x *CommitAfterNode) GetTimestamp() *timestamppb.Timestamp { @@ -4312,7 +4119,7 @@ type MessageMatchesNode struct { func (x *MessageMatchesNode) Reset() { *x = MessageMatchesNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[59] + mi := &file_gitserver_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4325,7 +4132,7 @@ func (x *MessageMatchesNode) String() string { func (*MessageMatchesNode) ProtoMessage() {} func (x *MessageMatchesNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[59] + mi := &file_gitserver_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4338,7 +4145,7 @@ func (x *MessageMatchesNode) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageMatchesNode.ProtoReflect.Descriptor instead. func (*MessageMatchesNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{59} + return file_gitserver_proto_rawDescGZIP(), []int{56} } func (x *MessageMatchesNode) GetExpr() string { @@ -4369,7 +4176,7 @@ type DiffMatchesNode struct { func (x *DiffMatchesNode) Reset() { *x = DiffMatchesNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[60] + mi := &file_gitserver_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4382,7 +4189,7 @@ func (x *DiffMatchesNode) String() string { func (*DiffMatchesNode) ProtoMessage() {} func (x *DiffMatchesNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[60] + mi := &file_gitserver_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4395,7 +4202,7 @@ func (x *DiffMatchesNode) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffMatchesNode.ProtoReflect.Descriptor instead. func (*DiffMatchesNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{60} + return file_gitserver_proto_rawDescGZIP(), []int{57} } func (x *DiffMatchesNode) GetExpr() string { @@ -4426,7 +4233,7 @@ type DiffModifiesFileNode struct { func (x *DiffModifiesFileNode) Reset() { *x = DiffModifiesFileNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[61] + mi := &file_gitserver_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4439,7 +4246,7 @@ func (x *DiffModifiesFileNode) String() string { func (*DiffModifiesFileNode) ProtoMessage() {} func (x *DiffModifiesFileNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[61] + mi := &file_gitserver_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4452,7 +4259,7 @@ func (x *DiffModifiesFileNode) ProtoReflect() protoreflect.Message { // Deprecated: Use DiffModifiesFileNode.ProtoReflect.Descriptor instead. func (*DiffModifiesFileNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{61} + return file_gitserver_proto_rawDescGZIP(), []int{58} } func (x *DiffModifiesFileNode) GetExpr() string { @@ -4481,7 +4288,7 @@ type BooleanNode struct { func (x *BooleanNode) Reset() { *x = BooleanNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[62] + mi := &file_gitserver_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4494,7 +4301,7 @@ func (x *BooleanNode) String() string { func (*BooleanNode) ProtoMessage() {} func (x *BooleanNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[62] + mi := &file_gitserver_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4507,7 +4314,7 @@ func (x *BooleanNode) ProtoReflect() protoreflect.Message { // Deprecated: Use BooleanNode.ProtoReflect.Descriptor instead. func (*BooleanNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{62} + return file_gitserver_proto_rawDescGZIP(), []int{59} } func (x *BooleanNode) GetValue() bool { @@ -4529,7 +4336,7 @@ type OperatorNode struct { func (x *OperatorNode) Reset() { *x = OperatorNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[63] + mi := &file_gitserver_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4542,7 +4349,7 @@ func (x *OperatorNode) String() string { func (*OperatorNode) ProtoMessage() {} func (x *OperatorNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[63] + mi := &file_gitserver_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4555,7 +4362,7 @@ func (x *OperatorNode) ProtoReflect() protoreflect.Message { // Deprecated: Use OperatorNode.ProtoReflect.Descriptor instead. func (*OperatorNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{63} + return file_gitserver_proto_rawDescGZIP(), []int{60} } func (x *OperatorNode) GetKind() OperatorKind { @@ -4594,7 +4401,7 @@ type QueryNode struct { func (x *QueryNode) Reset() { *x = QueryNode{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[64] + mi := &file_gitserver_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4607,7 +4414,7 @@ func (x *QueryNode) String() string { func (*QueryNode) ProtoMessage() {} func (x *QueryNode) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[64] + mi := &file_gitserver_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4620,7 +4427,7 @@ func (x *QueryNode) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryNode.ProtoReflect.Descriptor instead. func (*QueryNode) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{64} + return file_gitserver_proto_rawDescGZIP(), []int{61} } func (m *QueryNode) GetValue() isQueryNode_Value { @@ -4766,7 +4573,7 @@ type SearchResponse struct { func (x *SearchResponse) Reset() { *x = SearchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[65] + mi := &file_gitserver_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4779,7 +4586,7 @@ func (x *SearchResponse) String() string { func (*SearchResponse) ProtoMessage() {} func (x *SearchResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[65] + mi := &file_gitserver_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4792,7 +4599,7 @@ func (x *SearchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. func (*SearchResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{65} + return file_gitserver_proto_rawDescGZIP(), []int{62} } func (m *SearchResponse) GetMessage() isSearchResponse_Message { @@ -4860,7 +4667,7 @@ type CommitMatch struct { func (x *CommitMatch) Reset() { *x = CommitMatch{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[66] + mi := &file_gitserver_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4873,7 +4680,7 @@ func (x *CommitMatch) String() string { func (*CommitMatch) ProtoMessage() {} func (x *CommitMatch) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[66] + mi := &file_gitserver_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4886,7 +4693,7 @@ func (x *CommitMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitMatch.ProtoReflect.Descriptor instead. func (*CommitMatch) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{66} + return file_gitserver_proto_rawDescGZIP(), []int{63} } func (x *CommitMatch) GetOid() string { @@ -4972,7 +4779,7 @@ type ArchiveRequest struct { func (x *ArchiveRequest) Reset() { *x = ArchiveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[67] + mi := &file_gitserver_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4985,7 +4792,7 @@ func (x *ArchiveRequest) String() string { func (*ArchiveRequest) ProtoMessage() {} func (x *ArchiveRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[67] + mi := &file_gitserver_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4998,7 +4805,7 @@ func (x *ArchiveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveRequest.ProtoReflect.Descriptor instead. func (*ArchiveRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{67} + return file_gitserver_proto_rawDescGZIP(), []int{64} } func (x *ArchiveRequest) GetRepo() string { @@ -5042,7 +4849,7 @@ type ArchiveResponse struct { func (x *ArchiveResponse) Reset() { *x = ArchiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[68] + mi := &file_gitserver_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5055,7 +4862,7 @@ func (x *ArchiveResponse) String() string { func (*ArchiveResponse) ProtoMessage() {} func (x *ArchiveResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[68] + mi := &file_gitserver_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5068,7 +4875,7 @@ func (x *ArchiveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveResponse.ProtoReflect.Descriptor instead. func (*ArchiveResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{68} + return file_gitserver_proto_rawDescGZIP(), []int{65} } func (x *ArchiveResponse) GetData() []byte { @@ -5091,7 +4898,7 @@ type IsRepoCloneableRequest struct { func (x *IsRepoCloneableRequest) Reset() { *x = IsRepoCloneableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[69] + mi := &file_gitserver_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5104,7 +4911,7 @@ func (x *IsRepoCloneableRequest) String() string { func (*IsRepoCloneableRequest) ProtoMessage() {} func (x *IsRepoCloneableRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[69] + mi := &file_gitserver_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5117,7 +4924,7 @@ func (x *IsRepoCloneableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IsRepoCloneableRequest.ProtoReflect.Descriptor instead. func (*IsRepoCloneableRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{69} + return file_gitserver_proto_rawDescGZIP(), []int{66} } func (x *IsRepoCloneableRequest) GetRepo() string { @@ -5144,7 +4951,7 @@ type IsRepoCloneableResponse struct { func (x *IsRepoCloneableResponse) Reset() { *x = IsRepoCloneableResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[70] + mi := &file_gitserver_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5157,7 +4964,7 @@ func (x *IsRepoCloneableResponse) String() string { func (*IsRepoCloneableResponse) ProtoMessage() {} func (x *IsRepoCloneableResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[70] + mi := &file_gitserver_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5170,7 +4977,7 @@ func (x *IsRepoCloneableResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IsRepoCloneableResponse.ProtoReflect.Descriptor instead. func (*IsRepoCloneableResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{70} + return file_gitserver_proto_rawDescGZIP(), []int{67} } func (x *IsRepoCloneableResponse) GetCloneable() bool { @@ -5208,7 +5015,7 @@ type RepoCloneProgressRequest struct { func (x *RepoCloneProgressRequest) Reset() { *x = RepoCloneProgressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[71] + mi := &file_gitserver_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5221,7 +5028,7 @@ func (x *RepoCloneProgressRequest) String() string { func (*RepoCloneProgressRequest) ProtoMessage() {} func (x *RepoCloneProgressRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[71] + mi := &file_gitserver_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5234,7 +5041,7 @@ func (x *RepoCloneProgressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RepoCloneProgressRequest.ProtoReflect.Descriptor instead. func (*RepoCloneProgressRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{71} + return file_gitserver_proto_rawDescGZIP(), []int{68} } func (x *RepoCloneProgressRequest) GetRepoName() string { @@ -5262,7 +5069,7 @@ type RepoCloneProgressResponse struct { func (x *RepoCloneProgressResponse) Reset() { *x = RepoCloneProgressResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[72] + mi := &file_gitserver_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5275,7 +5082,7 @@ func (x *RepoCloneProgressResponse) String() string { func (*RepoCloneProgressResponse) ProtoMessage() {} func (x *RepoCloneProgressResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[72] + mi := &file_gitserver_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5288,7 +5095,7 @@ func (x *RepoCloneProgressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RepoCloneProgressResponse.ProtoReflect.Descriptor instead. func (*RepoCloneProgressResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{72} + return file_gitserver_proto_rawDescGZIP(), []int{69} } func (x *RepoCloneProgressResponse) GetCloneInProgress() bool { @@ -5325,7 +5132,7 @@ type ListGitoliteRequest struct { func (x *ListGitoliteRequest) Reset() { *x = ListGitoliteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[73] + mi := &file_gitserver_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5338,7 +5145,7 @@ func (x *ListGitoliteRequest) String() string { func (*ListGitoliteRequest) ProtoMessage() {} func (x *ListGitoliteRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[73] + mi := &file_gitserver_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5351,7 +5158,7 @@ func (x *ListGitoliteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGitoliteRequest.ProtoReflect.Descriptor instead. func (*ListGitoliteRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{73} + return file_gitserver_proto_rawDescGZIP(), []int{70} } func (x *ListGitoliteRequest) GetGitoliteHost() string { @@ -5376,7 +5183,7 @@ type GitoliteRepo struct { func (x *GitoliteRepo) Reset() { *x = GitoliteRepo{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[74] + mi := &file_gitserver_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5389,7 +5196,7 @@ func (x *GitoliteRepo) String() string { func (*GitoliteRepo) ProtoMessage() {} func (x *GitoliteRepo) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[74] + mi := &file_gitserver_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5402,7 +5209,7 @@ func (x *GitoliteRepo) ProtoReflect() protoreflect.Message { // Deprecated: Use GitoliteRepo.ProtoReflect.Descriptor instead. func (*GitoliteRepo) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{74} + return file_gitserver_proto_rawDescGZIP(), []int{71} } func (x *GitoliteRepo) GetName() string { @@ -5432,7 +5239,7 @@ type ListGitoliteResponse struct { func (x *ListGitoliteResponse) Reset() { *x = ListGitoliteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[75] + mi := &file_gitserver_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5445,7 +5252,7 @@ func (x *ListGitoliteResponse) String() string { func (*ListGitoliteResponse) ProtoMessage() {} func (x *ListGitoliteResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[75] + mi := &file_gitserver_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5458,7 +5265,7 @@ func (x *ListGitoliteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGitoliteResponse.ProtoReflect.Descriptor instead. func (*ListGitoliteResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{75} + return file_gitserver_proto_rawDescGZIP(), []int{72} } func (x *ListGitoliteResponse) GetRepos() []*GitoliteRepo { @@ -5483,7 +5290,7 @@ type GetObjectRequest struct { func (x *GetObjectRequest) Reset() { *x = GetObjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[76] + mi := &file_gitserver_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5496,7 +5303,7 @@ func (x *GetObjectRequest) String() string { func (*GetObjectRequest) ProtoMessage() {} func (x *GetObjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[76] + mi := &file_gitserver_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5509,7 +5316,7 @@ func (x *GetObjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetObjectRequest.ProtoReflect.Descriptor instead. func (*GetObjectRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{76} + return file_gitserver_proto_rawDescGZIP(), []int{73} } func (x *GetObjectRequest) GetRepo() string { @@ -5539,7 +5346,7 @@ type GetObjectResponse struct { func (x *GetObjectResponse) Reset() { *x = GetObjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[77] + mi := &file_gitserver_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5552,7 +5359,7 @@ func (x *GetObjectResponse) String() string { func (*GetObjectResponse) ProtoMessage() {} func (x *GetObjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[77] + mi := &file_gitserver_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5565,7 +5372,7 @@ func (x *GetObjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetObjectResponse.ProtoReflect.Descriptor instead. func (*GetObjectResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{77} + return file_gitserver_proto_rawDescGZIP(), []int{74} } func (x *GetObjectResponse) GetObject() *GitObject { @@ -5590,7 +5397,7 @@ type GitObject struct { func (x *GitObject) Reset() { *x = GitObject{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[78] + mi := &file_gitserver_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5603,7 +5410,7 @@ func (x *GitObject) String() string { func (*GitObject) ProtoMessage() {} func (x *GitObject) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[78] + mi := &file_gitserver_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5616,7 +5423,7 @@ func (x *GitObject) ProtoReflect() protoreflect.Message { // Deprecated: Use GitObject.ProtoReflect.Descriptor instead. func (*GitObject) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{78} + return file_gitserver_proto_rawDescGZIP(), []int{75} } func (x *GitObject) GetId() []byte { @@ -5647,7 +5454,7 @@ type IsPerforcePathCloneableRequest struct { func (x *IsPerforcePathCloneableRequest) Reset() { *x = IsPerforcePathCloneableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[79] + mi := &file_gitserver_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5660,7 +5467,7 @@ func (x *IsPerforcePathCloneableRequest) String() string { func (*IsPerforcePathCloneableRequest) ProtoMessage() {} func (x *IsPerforcePathCloneableRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[79] + mi := &file_gitserver_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5673,7 +5480,7 @@ func (x *IsPerforcePathCloneableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IsPerforcePathCloneableRequest.ProtoReflect.Descriptor instead. func (*IsPerforcePathCloneableRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{79} + return file_gitserver_proto_rawDescGZIP(), []int{76} } func (x *IsPerforcePathCloneableRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -5701,7 +5508,7 @@ type IsPerforcePathCloneableResponse struct { func (x *IsPerforcePathCloneableResponse) Reset() { *x = IsPerforcePathCloneableResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[80] + mi := &file_gitserver_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5714,7 +5521,7 @@ func (x *IsPerforcePathCloneableResponse) String() string { func (*IsPerforcePathCloneableResponse) ProtoMessage() {} func (x *IsPerforcePathCloneableResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[80] + mi := &file_gitserver_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5727,7 +5534,7 @@ func (x *IsPerforcePathCloneableResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IsPerforcePathCloneableResponse.ProtoReflect.Descriptor instead. func (*IsPerforcePathCloneableResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{80} + return file_gitserver_proto_rawDescGZIP(), []int{77} } // CheckPerforceCredentialsRequest is the request to check if given Perforce @@ -5743,7 +5550,7 @@ type CheckPerforceCredentialsRequest struct { func (x *CheckPerforceCredentialsRequest) Reset() { *x = CheckPerforceCredentialsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[81] + mi := &file_gitserver_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5756,7 +5563,7 @@ func (x *CheckPerforceCredentialsRequest) String() string { func (*CheckPerforceCredentialsRequest) ProtoMessage() {} func (x *CheckPerforceCredentialsRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[81] + mi := &file_gitserver_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5769,7 +5576,7 @@ func (x *CheckPerforceCredentialsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckPerforceCredentialsRequest.ProtoReflect.Descriptor instead. func (*CheckPerforceCredentialsRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{81} + return file_gitserver_proto_rawDescGZIP(), []int{78} } func (x *CheckPerforceCredentialsRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -5790,7 +5597,7 @@ type CheckPerforceCredentialsResponse struct { func (x *CheckPerforceCredentialsResponse) Reset() { *x = CheckPerforceCredentialsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[82] + mi := &file_gitserver_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5803,7 +5610,7 @@ func (x *CheckPerforceCredentialsResponse) String() string { func (*CheckPerforceCredentialsResponse) ProtoMessage() {} func (x *CheckPerforceCredentialsResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[82] + mi := &file_gitserver_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5816,7 +5623,7 @@ func (x *CheckPerforceCredentialsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckPerforceCredentialsResponse.ProtoReflect.Descriptor instead. func (*CheckPerforceCredentialsResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{82} + return file_gitserver_proto_rawDescGZIP(), []int{79} } // PerforceConnectionDetails holds all the details required to talk to a @@ -5834,7 +5641,7 @@ type PerforceConnectionDetails struct { func (x *PerforceConnectionDetails) Reset() { *x = PerforceConnectionDetails{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[83] + mi := &file_gitserver_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5847,7 +5654,7 @@ func (x *PerforceConnectionDetails) String() string { func (*PerforceConnectionDetails) ProtoMessage() {} func (x *PerforceConnectionDetails) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[83] + mi := &file_gitserver_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5860,7 +5667,7 @@ func (x *PerforceConnectionDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceConnectionDetails.ProtoReflect.Descriptor instead. func (*PerforceConnectionDetails) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{83} + return file_gitserver_proto_rawDescGZIP(), []int{80} } func (x *PerforceConnectionDetails) GetP4Port() string { @@ -5898,7 +5705,7 @@ type PerforceGetChangelistRequest struct { func (x *PerforceGetChangelistRequest) Reset() { *x = PerforceGetChangelistRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[84] + mi := &file_gitserver_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5911,7 +5718,7 @@ func (x *PerforceGetChangelistRequest) String() string { func (*PerforceGetChangelistRequest) ProtoMessage() {} func (x *PerforceGetChangelistRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[84] + mi := &file_gitserver_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5924,7 +5731,7 @@ func (x *PerforceGetChangelistRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceGetChangelistRequest.ProtoReflect.Descriptor instead. func (*PerforceGetChangelistRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{84} + return file_gitserver_proto_rawDescGZIP(), []int{81} } func (x *PerforceGetChangelistRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -5954,7 +5761,7 @@ type PerforceGetChangelistResponse struct { func (x *PerforceGetChangelistResponse) Reset() { *x = PerforceGetChangelistResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[85] + mi := &file_gitserver_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5967,7 +5774,7 @@ func (x *PerforceGetChangelistResponse) String() string { func (*PerforceGetChangelistResponse) ProtoMessage() {} func (x *PerforceGetChangelistResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[85] + mi := &file_gitserver_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5980,7 +5787,7 @@ func (x *PerforceGetChangelistResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceGetChangelistResponse.ProtoReflect.Descriptor instead. func (*PerforceGetChangelistResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{85} + return file_gitserver_proto_rawDescGZIP(), []int{82} } func (x *PerforceGetChangelistResponse) GetChangelist() *PerforceChangelist { @@ -6007,7 +5814,7 @@ type PerforceChangelist struct { func (x *PerforceChangelist) Reset() { *x = PerforceChangelist{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[86] + mi := &file_gitserver_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6020,7 +5827,7 @@ func (x *PerforceChangelist) String() string { func (*PerforceChangelist) ProtoMessage() {} func (x *PerforceChangelist) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[86] + mi := &file_gitserver_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6033,7 +5840,7 @@ func (x *PerforceChangelist) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceChangelist.ProtoReflect.Descriptor instead. func (*PerforceChangelist) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{86} + return file_gitserver_proto_rawDescGZIP(), []int{83} } func (x *PerforceChangelist) GetId() string { @@ -6091,7 +5898,7 @@ type IsPerforceSuperUserRequest struct { func (x *IsPerforceSuperUserRequest) Reset() { *x = IsPerforceSuperUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[87] + mi := &file_gitserver_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6104,7 +5911,7 @@ func (x *IsPerforceSuperUserRequest) String() string { func (*IsPerforceSuperUserRequest) ProtoMessage() {} func (x *IsPerforceSuperUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[87] + mi := &file_gitserver_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6117,7 +5924,7 @@ func (x *IsPerforceSuperUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IsPerforceSuperUserRequest.ProtoReflect.Descriptor instead. func (*IsPerforceSuperUserRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{87} + return file_gitserver_proto_rawDescGZIP(), []int{84} } func (x *IsPerforceSuperUserRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -6139,7 +5946,7 @@ type IsPerforceSuperUserResponse struct { func (x *IsPerforceSuperUserResponse) Reset() { *x = IsPerforceSuperUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[88] + mi := &file_gitserver_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6152,7 +5959,7 @@ func (x *IsPerforceSuperUserResponse) String() string { func (*IsPerforceSuperUserResponse) ProtoMessage() {} func (x *IsPerforceSuperUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[88] + mi := &file_gitserver_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6165,7 +5972,7 @@ func (x *IsPerforceSuperUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IsPerforceSuperUserResponse.ProtoReflect.Descriptor instead. func (*IsPerforceSuperUserResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{88} + return file_gitserver_proto_rawDescGZIP(), []int{85} } // PerforceProtectsForDepotRequest requests all the protections that apply to @@ -6182,7 +5989,7 @@ type PerforceProtectsForDepotRequest struct { func (x *PerforceProtectsForDepotRequest) Reset() { *x = PerforceProtectsForDepotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[89] + mi := &file_gitserver_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6195,7 +6002,7 @@ func (x *PerforceProtectsForDepotRequest) String() string { func (*PerforceProtectsForDepotRequest) ProtoMessage() {} func (x *PerforceProtectsForDepotRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[89] + mi := &file_gitserver_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6208,7 +6015,7 @@ func (x *PerforceProtectsForDepotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceProtectsForDepotRequest.ProtoReflect.Descriptor instead. func (*PerforceProtectsForDepotRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{89} + return file_gitserver_proto_rawDescGZIP(), []int{86} } func (x *PerforceProtectsForDepotRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -6238,7 +6045,7 @@ type PerforceProtectsForDepotResponse struct { func (x *PerforceProtectsForDepotResponse) Reset() { *x = PerforceProtectsForDepotResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[90] + mi := &file_gitserver_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6251,7 +6058,7 @@ func (x *PerforceProtectsForDepotResponse) String() string { func (*PerforceProtectsForDepotResponse) ProtoMessage() {} func (x *PerforceProtectsForDepotResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[90] + mi := &file_gitserver_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6264,7 +6071,7 @@ func (x *PerforceProtectsForDepotResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceProtectsForDepotResponse.ProtoReflect.Descriptor instead. func (*PerforceProtectsForDepotResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{90} + return file_gitserver_proto_rawDescGZIP(), []int{87} } func (x *PerforceProtectsForDepotResponse) GetProtects() []*PerforceProtect { @@ -6288,7 +6095,7 @@ type PerforceProtectsForUserRequest struct { func (x *PerforceProtectsForUserRequest) Reset() { *x = PerforceProtectsForUserRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[91] + mi := &file_gitserver_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6301,7 +6108,7 @@ func (x *PerforceProtectsForUserRequest) String() string { func (*PerforceProtectsForUserRequest) ProtoMessage() {} func (x *PerforceProtectsForUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[91] + mi := &file_gitserver_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6314,7 +6121,7 @@ func (x *PerforceProtectsForUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceProtectsForUserRequest.ProtoReflect.Descriptor instead. func (*PerforceProtectsForUserRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{91} + return file_gitserver_proto_rawDescGZIP(), []int{88} } func (x *PerforceProtectsForUserRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -6344,7 +6151,7 @@ type PerforceProtectsForUserResponse struct { func (x *PerforceProtectsForUserResponse) Reset() { *x = PerforceProtectsForUserResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[92] + mi := &file_gitserver_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6357,7 +6164,7 @@ func (x *PerforceProtectsForUserResponse) String() string { func (*PerforceProtectsForUserResponse) ProtoMessage() {} func (x *PerforceProtectsForUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[92] + mi := &file_gitserver_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6370,7 +6177,7 @@ func (x *PerforceProtectsForUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceProtectsForUserResponse.ProtoReflect.Descriptor instead. func (*PerforceProtectsForUserResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{92} + return file_gitserver_proto_rawDescGZIP(), []int{89} } func (x *PerforceProtectsForUserResponse) GetProtects() []*PerforceProtect { @@ -6397,7 +6204,7 @@ type PerforceProtect struct { func (x *PerforceProtect) Reset() { *x = PerforceProtect{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[93] + mi := &file_gitserver_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6410,7 +6217,7 @@ func (x *PerforceProtect) String() string { func (*PerforceProtect) ProtoMessage() {} func (x *PerforceProtect) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[93] + mi := &file_gitserver_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6423,7 +6230,7 @@ func (x *PerforceProtect) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceProtect.ProtoReflect.Descriptor instead. func (*PerforceProtect) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{93} + return file_gitserver_proto_rawDescGZIP(), []int{90} } func (x *PerforceProtect) GetLevel() string { @@ -6481,7 +6288,7 @@ type PerforceGroupMembersRequest struct { func (x *PerforceGroupMembersRequest) Reset() { *x = PerforceGroupMembersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[94] + mi := &file_gitserver_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6494,7 +6301,7 @@ func (x *PerforceGroupMembersRequest) String() string { func (*PerforceGroupMembersRequest) ProtoMessage() {} func (x *PerforceGroupMembersRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[94] + mi := &file_gitserver_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6507,7 +6314,7 @@ func (x *PerforceGroupMembersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceGroupMembersRequest.ProtoReflect.Descriptor instead. func (*PerforceGroupMembersRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{94} + return file_gitserver_proto_rawDescGZIP(), []int{91} } func (x *PerforceGroupMembersRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -6537,7 +6344,7 @@ type PerforceGroupMembersResponse struct { func (x *PerforceGroupMembersResponse) Reset() { *x = PerforceGroupMembersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[95] + mi := &file_gitserver_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6550,7 +6357,7 @@ func (x *PerforceGroupMembersResponse) String() string { func (*PerforceGroupMembersResponse) ProtoMessage() {} func (x *PerforceGroupMembersResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[95] + mi := &file_gitserver_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6563,7 +6370,7 @@ func (x *PerforceGroupMembersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceGroupMembersResponse.ProtoReflect.Descriptor instead. func (*PerforceGroupMembersResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{95} + return file_gitserver_proto_rawDescGZIP(), []int{92} } func (x *PerforceGroupMembersResponse) GetUsernames() []string { @@ -6585,7 +6392,7 @@ type PerforceUsersRequest struct { func (x *PerforceUsersRequest) Reset() { *x = PerforceUsersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[96] + mi := &file_gitserver_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6598,7 +6405,7 @@ func (x *PerforceUsersRequest) String() string { func (*PerforceUsersRequest) ProtoMessage() {} func (x *PerforceUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[96] + mi := &file_gitserver_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6611,7 +6418,7 @@ func (x *PerforceUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceUsersRequest.ProtoReflect.Descriptor instead. func (*PerforceUsersRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{96} + return file_gitserver_proto_rawDescGZIP(), []int{93} } func (x *PerforceUsersRequest) GetConnectionDetails() *PerforceConnectionDetails { @@ -6633,7 +6440,7 @@ type PerforceUsersResponse struct { func (x *PerforceUsersResponse) Reset() { *x = PerforceUsersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[97] + mi := &file_gitserver_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6646,7 +6453,7 @@ func (x *PerforceUsersResponse) String() string { func (*PerforceUsersResponse) ProtoMessage() {} func (x *PerforceUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[97] + mi := &file_gitserver_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6659,7 +6466,7 @@ func (x *PerforceUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceUsersResponse.ProtoReflect.Descriptor instead. func (*PerforceUsersResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{97} + return file_gitserver_proto_rawDescGZIP(), []int{94} } func (x *PerforceUsersResponse) GetUsers() []*PerforceUser { @@ -6682,7 +6489,7 @@ type PerforceUser struct { func (x *PerforceUser) Reset() { *x = PerforceUser{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[98] + mi := &file_gitserver_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6695,7 +6502,7 @@ func (x *PerforceUser) String() string { func (*PerforceUser) ProtoMessage() {} func (x *PerforceUser) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[98] + mi := &file_gitserver_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6708,7 +6515,7 @@ func (x *PerforceUser) ProtoReflect() protoreflect.Message { // Deprecated: Use PerforceUser.ProtoReflect.Descriptor instead. func (*PerforceUser) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{98} + return file_gitserver_proto_rawDescGZIP(), []int{95} } func (x *PerforceUser) GetUsername() string { @@ -6743,7 +6550,7 @@ type MergeBaseRequest struct { func (x *MergeBaseRequest) Reset() { *x = MergeBaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[99] + mi := &file_gitserver_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6756,7 +6563,7 @@ func (x *MergeBaseRequest) String() string { func (*MergeBaseRequest) ProtoMessage() {} func (x *MergeBaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[99] + mi := &file_gitserver_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6769,7 +6576,7 @@ func (x *MergeBaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MergeBaseRequest.ProtoReflect.Descriptor instead. func (*MergeBaseRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{99} + return file_gitserver_proto_rawDescGZIP(), []int{96} } func (x *MergeBaseRequest) GetRepoName() string { @@ -6806,7 +6613,7 @@ type MergeBaseResponse struct { func (x *MergeBaseResponse) Reset() { *x = MergeBaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[100] + mi := &file_gitserver_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6819,7 +6626,7 @@ func (x *MergeBaseResponse) String() string { func (*MergeBaseResponse) ProtoMessage() {} func (x *MergeBaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[100] + mi := &file_gitserver_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6832,7 +6639,7 @@ func (x *MergeBaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MergeBaseResponse.ProtoReflect.Descriptor instead. func (*MergeBaseResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{100} + return file_gitserver_proto_rawDescGZIP(), []int{97} } func (x *MergeBaseResponse) GetMergeBaseCommitSha() string { @@ -6856,7 +6663,7 @@ type FirstEverCommitRequest struct { func (x *FirstEverCommitRequest) Reset() { *x = FirstEverCommitRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[101] + mi := &file_gitserver_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6869,7 +6676,7 @@ func (x *FirstEverCommitRequest) String() string { func (*FirstEverCommitRequest) ProtoMessage() {} func (x *FirstEverCommitRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[101] + mi := &file_gitserver_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6882,7 +6689,7 @@ func (x *FirstEverCommitRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FirstEverCommitRequest.ProtoReflect.Descriptor instead. func (*FirstEverCommitRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{101} + return file_gitserver_proto_rawDescGZIP(), []int{98} } func (x *FirstEverCommitRequest) GetRepoName() string { @@ -6905,7 +6712,7 @@ type FirstEverCommitResponse struct { func (x *FirstEverCommitResponse) Reset() { *x = FirstEverCommitResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[102] + mi := &file_gitserver_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6918,7 +6725,7 @@ func (x *FirstEverCommitResponse) String() string { func (*FirstEverCommitResponse) ProtoMessage() {} func (x *FirstEverCommitResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[102] + mi := &file_gitserver_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6931,7 +6738,7 @@ func (x *FirstEverCommitResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FirstEverCommitResponse.ProtoReflect.Descriptor instead. func (*FirstEverCommitResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{102} + return file_gitserver_proto_rawDescGZIP(), []int{99} } func (x *FirstEverCommitResponse) GetCommit() *GitCommit { @@ -6960,7 +6767,7 @@ type BehindAheadRequest struct { func (x *BehindAheadRequest) Reset() { *x = BehindAheadRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[103] + mi := &file_gitserver_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6973,7 +6780,7 @@ func (x *BehindAheadRequest) String() string { func (*BehindAheadRequest) ProtoMessage() {} func (x *BehindAheadRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[103] + mi := &file_gitserver_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6986,7 +6793,7 @@ func (x *BehindAheadRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BehindAheadRequest.ProtoReflect.Descriptor instead. func (*BehindAheadRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{103} + return file_gitserver_proto_rawDescGZIP(), []int{100} } func (x *BehindAheadRequest) GetRepoName() string { @@ -7026,7 +6833,7 @@ type BehindAheadResponse struct { func (x *BehindAheadResponse) Reset() { *x = BehindAheadResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[104] + mi := &file_gitserver_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7039,7 +6846,7 @@ func (x *BehindAheadResponse) String() string { func (*BehindAheadResponse) ProtoMessage() {} func (x *BehindAheadResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[104] + mi := &file_gitserver_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7052,7 +6859,7 @@ func (x *BehindAheadResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BehindAheadResponse.ProtoReflect.Descriptor instead. func (*BehindAheadResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{104} + return file_gitserver_proto_rawDescGZIP(), []int{101} } func (x *BehindAheadResponse) GetBehind() uint32 { @@ -7088,7 +6895,7 @@ type ChangedFilesRequest struct { func (x *ChangedFilesRequest) Reset() { *x = ChangedFilesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[105] + mi := &file_gitserver_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7101,7 +6908,7 @@ func (x *ChangedFilesRequest) String() string { func (*ChangedFilesRequest) ProtoMessage() {} func (x *ChangedFilesRequest) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[105] + mi := &file_gitserver_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7114,7 +6921,7 @@ func (x *ChangedFilesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangedFilesRequest.ProtoReflect.Descriptor instead. func (*ChangedFilesRequest) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{105} + return file_gitserver_proto_rawDescGZIP(), []int{102} } func (x *ChangedFilesRequest) GetRepoName() string { @@ -7149,7 +6956,7 @@ type ChangedFilesResponse struct { func (x *ChangedFilesResponse) Reset() { *x = ChangedFilesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[106] + mi := &file_gitserver_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7162,7 +6969,7 @@ func (x *ChangedFilesResponse) String() string { func (*ChangedFilesResponse) ProtoMessage() {} func (x *ChangedFilesResponse) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[106] + mi := &file_gitserver_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7175,7 +6982,7 @@ func (x *ChangedFilesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangedFilesResponse.ProtoReflect.Descriptor instead. func (*ChangedFilesResponse) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{106} + return file_gitserver_proto_rawDescGZIP(), []int{103} } func (x *ChangedFilesResponse) GetFiles() []*ChangedFile { @@ -7198,7 +7005,7 @@ type ChangedFile struct { func (x *ChangedFile) Reset() { *x = ChangedFile{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[107] + mi := &file_gitserver_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7211,7 +7018,7 @@ func (x *ChangedFile) String() string { func (*ChangedFile) ProtoMessage() {} func (x *ChangedFile) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[107] + mi := &file_gitserver_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7224,7 +7031,7 @@ func (x *ChangedFile) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangedFile.ProtoReflect.Descriptor instead. func (*ChangedFile) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{107} + return file_gitserver_proto_rawDescGZIP(), []int{104} } func (x *ChangedFile) GetPath() []byte { @@ -7259,7 +7066,7 @@ type ListRepositoriesResponse_GitRepository struct { func (x *ListRepositoriesResponse_GitRepository) Reset() { *x = ListRepositoriesResponse_GitRepository{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[108] + mi := &file_gitserver_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7272,7 +7079,7 @@ func (x *ListRepositoriesResponse_GitRepository) String() string { func (*ListRepositoriesResponse_GitRepository) ProtoMessage() {} func (x *ListRepositoriesResponse_GitRepository) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[108] + mi := &file_gitserver_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7330,7 +7137,7 @@ type CreateCommitFromPatchBinaryRequest_Metadata struct { func (x *CreateCommitFromPatchBinaryRequest_Metadata) Reset() { *x = CreateCommitFromPatchBinaryRequest_Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[109] + mi := &file_gitserver_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7343,7 +7150,7 @@ func (x *CreateCommitFromPatchBinaryRequest_Metadata) String() string { func (*CreateCommitFromPatchBinaryRequest_Metadata) ProtoMessage() {} func (x *CreateCommitFromPatchBinaryRequest_Metadata) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[109] + mi := &file_gitserver_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7427,7 +7234,7 @@ type CreateCommitFromPatchBinaryRequest_Patch struct { func (x *CreateCommitFromPatchBinaryRequest_Patch) Reset() { *x = CreateCommitFromPatchBinaryRequest_Patch{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[110] + mi := &file_gitserver_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7440,7 +7247,7 @@ func (x *CreateCommitFromPatchBinaryRequest_Patch) String() string { func (*CreateCommitFromPatchBinaryRequest_Patch) ProtoMessage() {} func (x *CreateCommitFromPatchBinaryRequest_Patch) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[110] + mi := &file_gitserver_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7476,7 +7283,7 @@ type CommitMatch_Signature struct { func (x *CommitMatch_Signature) Reset() { *x = CommitMatch_Signature{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[111] + mi := &file_gitserver_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7489,7 +7296,7 @@ func (x *CommitMatch_Signature) String() string { func (*CommitMatch_Signature) ProtoMessage() {} func (x *CommitMatch_Signature) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[111] + mi := &file_gitserver_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7502,7 +7309,7 @@ func (x *CommitMatch_Signature) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitMatch_Signature.ProtoReflect.Descriptor instead. func (*CommitMatch_Signature) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{66, 0} + return file_gitserver_proto_rawDescGZIP(), []int{63, 0} } func (x *CommitMatch_Signature) GetName() string { @@ -7538,7 +7345,7 @@ type CommitMatch_MatchedString struct { func (x *CommitMatch_MatchedString) Reset() { *x = CommitMatch_MatchedString{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[112] + mi := &file_gitserver_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7551,7 +7358,7 @@ func (x *CommitMatch_MatchedString) String() string { func (*CommitMatch_MatchedString) ProtoMessage() {} func (x *CommitMatch_MatchedString) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[112] + mi := &file_gitserver_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7564,7 +7371,7 @@ func (x *CommitMatch_MatchedString) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitMatch_MatchedString.ProtoReflect.Descriptor instead. func (*CommitMatch_MatchedString) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{66, 1} + return file_gitserver_proto_rawDescGZIP(), []int{63, 1} } func (x *CommitMatch_MatchedString) GetContent() string { @@ -7594,7 +7401,7 @@ type CommitMatch_Range struct { func (x *CommitMatch_Range) Reset() { *x = CommitMatch_Range{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[113] + mi := &file_gitserver_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7607,7 +7414,7 @@ func (x *CommitMatch_Range) String() string { func (*CommitMatch_Range) ProtoMessage() {} func (x *CommitMatch_Range) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[113] + mi := &file_gitserver_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7620,7 +7427,7 @@ func (x *CommitMatch_Range) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitMatch_Range.ProtoReflect.Descriptor instead. func (*CommitMatch_Range) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{66, 2} + return file_gitserver_proto_rawDescGZIP(), []int{63, 2} } func (x *CommitMatch_Range) GetStart() *CommitMatch_Location { @@ -7650,7 +7457,7 @@ type CommitMatch_Location struct { func (x *CommitMatch_Location) Reset() { *x = CommitMatch_Location{} if protoimpl.UnsafeEnabled { - mi := &file_gitserver_proto_msgTypes[114] + mi := &file_gitserver_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7663,7 +7470,7 @@ func (x *CommitMatch_Location) String() string { func (*CommitMatch_Location) ProtoMessage() {} func (x *CommitMatch_Location) ProtoReflect() protoreflect.Message { - mi := &file_gitserver_proto_msgTypes[114] + mi := &file_gitserver_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7676,7 +7483,7 @@ func (x *CommitMatch_Location) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitMatch_Location.ProtoReflect.Descriptor instead. func (*CommitMatch_Location) Descriptor() ([]byte, []int) { - return file_gitserver_proto_rawDescGZIP(), []int{66, 3} + return file_gitserver_proto_rawDescGZIP(), []int{63, 3} } func (x *CommitMatch_Location) GetOffset() uint32 { @@ -8132,42 +7939,24 @@ var file_gitserver_proto_rawDesc = []byte{ 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa7, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x2b, 0x0a, 0x0f, - 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x65, 0x6e, 0x73, 0x75, 0x72, - 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x12, 0x18, 0x0a, 0x05, 0x73, 0x74, 0x64, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x73, 0x74, 0x64, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0a, 0x6e, - 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x26, - 0x0a, 0x0c, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7c, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x4e, 0x6f, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x4e, 0x6f, 0x74, 0x46, + 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, + 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, 0x6f, 0x6e, + 0x65, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x41, 0x0a, 0x17, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, - 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x6c, - 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x41, 0x0a, 0x17, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, - 0x65, 0x70, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x55, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x4e, - 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, - 0x70, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x4c, - 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x22, 0x80, 0x02, 0x0a, + 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x55, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x74, + 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x80, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, @@ -8639,7 +8428,7 @@ var file_gitserver_proto_rawDesc = []byte{ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x32, - 0xe8, 0x18, 0x0a, 0x10, 0x47, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, + 0xa2, 0x18, 0x0a, 0x10, 0x47, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, @@ -8653,195 +8442,191 @@ var file_gitserver_proto_rawDesc = []byte{ 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x44, 0x0a, - 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, - 0x01, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x49, 0x73, 0x52, 0x65, 0x70, 0x6f, - 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x51, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x63, 0x0a, 0x0f, 0x49, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x43, - 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x73, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x69, - 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x69, 0x74, 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x47, 0x69, 0x74, 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4a, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, - 0x01, 0x30, 0x01, 0x12, 0x4d, 0x0a, 0x07, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x1c, - 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, - 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, - 0x30, 0x01, 0x12, 0x69, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, - 0x17, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x43, - 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5d, 0x0a, 0x0d, 0x50, 0x65, - 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x67, 0x69, - 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, 0x17, 0x50, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x70, - 0x6f, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x73, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x73, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x72, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, - 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, - 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, + 0x6f, 0x6c, 0x69, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x6f, 0x6c, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x69, 0x74, 0x6f, + 0x6c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x4a, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x67, 0x69, + 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x4d, 0x0a, + 0x07, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x11, + 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x6c, 0x6f, + 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, 0x17, 0x49, 0x73, 0x50, 0x65, 0x72, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x43, 0x6c, + 0x6f, 0x6e, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x5d, 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x6f, 0x0a, 0x13, 0x49, 0x73, - 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x75, 0x70, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x75, 0x70, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x69, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x12, 0x7b, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2c, + 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x7e, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x12, 0x2d, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x44, + 0x65, 0x70, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x69, + 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x44, 0x65, + 0x70, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x72, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x90, 0x02, 0x01, 0x12, 0x6f, 0x0a, 0x13, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x53, 0x75, 0x70, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x75, 0x70, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x75, 0x0a, 0x15, 0x50, - 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, - 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x47, 0x0a, 0x05, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x5d, - 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, - 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x50, 0x0a, - 0x08, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, - 0x51, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x2e, 0x67, - 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, - 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, - 0x02, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, - 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x02, 0x12, 0x50, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x66, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, + 0x75, 0x70, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x75, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2a, + 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x69, 0x74, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x51, 0x0a, 0x09, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, + 0x47, 0x0a, 0x05, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x50, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x46, + 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x52, 0x65, 0x76, - 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, + 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4d, 0x0a, 0x07, - 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x11, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x76, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x69, 0x72, 0x73, 0x74, 0x45, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0b, 0x42, - 0x65, 0x68, 0x69, 0x6e, 0x64, 0x41, 0x68, 0x65, 0x61, 0x64, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x68, 0x69, 0x6e, 0x64, - 0x41, 0x68, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, - 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x68, 0x69, - 0x6e, 0x64, 0x41, 0x68, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, - 0x30, 0x01, 0x12, 0x42, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4d, 0x0a, 0x07, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, - 0x72, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x63, 0x0a, 0x0f, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x02, 0x12, 0x50, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x73, 0x12, 0x1d, 0x2e, + 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x09, 0x52, 0x65, 0x76, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x76, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x76, 0x41, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4d, 0x0a, 0x07, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, + 0x66, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, - 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, - 0x6f, 0x67, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x77, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x63, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x76, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0b, 0x42, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x41, + 0x68, 0x65, 0x61, 0x64, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x41, 0x68, 0x65, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x41, 0x68, 0x65, 0x61, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5c, + 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, + 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x04, + 0x53, 0x74, 0x61, 0x74, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, + 0x12, 0x4d, 0x0a, 0x07, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x2e, 0x67, 0x69, + 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x44, + 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x12, + 0x53, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x1e, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, + 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x30, 0x01, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x69, 0x74, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8857,7 +8642,7 @@ func file_gitserver_proto_rawDescGZIP() []byte { } var file_gitserver_proto_enumTypes = make([]protoimpl.EnumInfo, 8) -var file_gitserver_proto_msgTypes = make([]protoimpl.MessageInfo, 115) +var file_gitserver_proto_msgTypes = make([]protoimpl.MessageInfo, 112) var file_gitserver_proto_goTypes = []interface{}{ (OperatorKind)(0), // 0: gitserver.v1.OperatorKind (ArchiveFormat)(0), // 1: gitserver.v1.ArchiveFormat @@ -8914,228 +8699,223 @@ var file_gitserver_proto_goTypes = []interface{}{ (*CreateCommitFromPatchBinaryRequest)(nil), // 52: gitserver.v1.CreateCommitFromPatchBinaryRequest (*CreateCommitFromPatchError)(nil), // 53: gitserver.v1.CreateCommitFromPatchError (*CreateCommitFromPatchBinaryResponse)(nil), // 54: gitserver.v1.CreateCommitFromPatchBinaryResponse - (*ExecRequest)(nil), // 55: gitserver.v1.ExecRequest - (*ExecResponse)(nil), // 56: gitserver.v1.ExecResponse - (*RepoNotFoundPayload)(nil), // 57: gitserver.v1.RepoNotFoundPayload - (*RevisionNotFoundPayload)(nil), // 58: gitserver.v1.RevisionNotFoundPayload - (*FileNotFoundPayload)(nil), // 59: gitserver.v1.FileNotFoundPayload - (*ExecStatusPayload)(nil), // 60: gitserver.v1.ExecStatusPayload - (*SearchRequest)(nil), // 61: gitserver.v1.SearchRequest - (*RevisionSpecifier)(nil), // 62: gitserver.v1.RevisionSpecifier - (*AuthorMatchesNode)(nil), // 63: gitserver.v1.AuthorMatchesNode - (*CommitterMatchesNode)(nil), // 64: gitserver.v1.CommitterMatchesNode - (*CommitBeforeNode)(nil), // 65: gitserver.v1.CommitBeforeNode - (*CommitAfterNode)(nil), // 66: gitserver.v1.CommitAfterNode - (*MessageMatchesNode)(nil), // 67: gitserver.v1.MessageMatchesNode - (*DiffMatchesNode)(nil), // 68: gitserver.v1.DiffMatchesNode - (*DiffModifiesFileNode)(nil), // 69: gitserver.v1.DiffModifiesFileNode - (*BooleanNode)(nil), // 70: gitserver.v1.BooleanNode - (*OperatorNode)(nil), // 71: gitserver.v1.OperatorNode - (*QueryNode)(nil), // 72: gitserver.v1.QueryNode - (*SearchResponse)(nil), // 73: gitserver.v1.SearchResponse - (*CommitMatch)(nil), // 74: gitserver.v1.CommitMatch - (*ArchiveRequest)(nil), // 75: gitserver.v1.ArchiveRequest - (*ArchiveResponse)(nil), // 76: gitserver.v1.ArchiveResponse - (*IsRepoCloneableRequest)(nil), // 77: gitserver.v1.IsRepoCloneableRequest - (*IsRepoCloneableResponse)(nil), // 78: gitserver.v1.IsRepoCloneableResponse - (*RepoCloneProgressRequest)(nil), // 79: gitserver.v1.RepoCloneProgressRequest - (*RepoCloneProgressResponse)(nil), // 80: gitserver.v1.RepoCloneProgressResponse - (*ListGitoliteRequest)(nil), // 81: gitserver.v1.ListGitoliteRequest - (*GitoliteRepo)(nil), // 82: gitserver.v1.GitoliteRepo - (*ListGitoliteResponse)(nil), // 83: gitserver.v1.ListGitoliteResponse - (*GetObjectRequest)(nil), // 84: gitserver.v1.GetObjectRequest - (*GetObjectResponse)(nil), // 85: gitserver.v1.GetObjectResponse - (*GitObject)(nil), // 86: gitserver.v1.GitObject - (*IsPerforcePathCloneableRequest)(nil), // 87: gitserver.v1.IsPerforcePathCloneableRequest - (*IsPerforcePathCloneableResponse)(nil), // 88: gitserver.v1.IsPerforcePathCloneableResponse - (*CheckPerforceCredentialsRequest)(nil), // 89: gitserver.v1.CheckPerforceCredentialsRequest - (*CheckPerforceCredentialsResponse)(nil), // 90: gitserver.v1.CheckPerforceCredentialsResponse - (*PerforceConnectionDetails)(nil), // 91: gitserver.v1.PerforceConnectionDetails - (*PerforceGetChangelistRequest)(nil), // 92: gitserver.v1.PerforceGetChangelistRequest - (*PerforceGetChangelistResponse)(nil), // 93: gitserver.v1.PerforceGetChangelistResponse - (*PerforceChangelist)(nil), // 94: gitserver.v1.PerforceChangelist - (*IsPerforceSuperUserRequest)(nil), // 95: gitserver.v1.IsPerforceSuperUserRequest - (*IsPerforceSuperUserResponse)(nil), // 96: gitserver.v1.IsPerforceSuperUserResponse - (*PerforceProtectsForDepotRequest)(nil), // 97: gitserver.v1.PerforceProtectsForDepotRequest - (*PerforceProtectsForDepotResponse)(nil), // 98: gitserver.v1.PerforceProtectsForDepotResponse - (*PerforceProtectsForUserRequest)(nil), // 99: gitserver.v1.PerforceProtectsForUserRequest - (*PerforceProtectsForUserResponse)(nil), // 100: gitserver.v1.PerforceProtectsForUserResponse - (*PerforceProtect)(nil), // 101: gitserver.v1.PerforceProtect - (*PerforceGroupMembersRequest)(nil), // 102: gitserver.v1.PerforceGroupMembersRequest - (*PerforceGroupMembersResponse)(nil), // 103: gitserver.v1.PerforceGroupMembersResponse - (*PerforceUsersRequest)(nil), // 104: gitserver.v1.PerforceUsersRequest - (*PerforceUsersResponse)(nil), // 105: gitserver.v1.PerforceUsersResponse - (*PerforceUser)(nil), // 106: gitserver.v1.PerforceUser - (*MergeBaseRequest)(nil), // 107: gitserver.v1.MergeBaseRequest - (*MergeBaseResponse)(nil), // 108: gitserver.v1.MergeBaseResponse - (*FirstEverCommitRequest)(nil), // 109: gitserver.v1.FirstEverCommitRequest - (*FirstEverCommitResponse)(nil), // 110: gitserver.v1.FirstEverCommitResponse - (*BehindAheadRequest)(nil), // 111: gitserver.v1.BehindAheadRequest - (*BehindAheadResponse)(nil), // 112: gitserver.v1.BehindAheadResponse - (*ChangedFilesRequest)(nil), // 113: gitserver.v1.ChangedFilesRequest - (*ChangedFilesResponse)(nil), // 114: gitserver.v1.ChangedFilesResponse - (*ChangedFile)(nil), // 115: gitserver.v1.ChangedFile - (*ListRepositoriesResponse_GitRepository)(nil), // 116: gitserver.v1.ListRepositoriesResponse.GitRepository - (*CreateCommitFromPatchBinaryRequest_Metadata)(nil), // 117: gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata - (*CreateCommitFromPatchBinaryRequest_Patch)(nil), // 118: gitserver.v1.CreateCommitFromPatchBinaryRequest.Patch - (*CommitMatch_Signature)(nil), // 119: gitserver.v1.CommitMatch.Signature - (*CommitMatch_MatchedString)(nil), // 120: gitserver.v1.CommitMatch.MatchedString - (*CommitMatch_Range)(nil), // 121: gitserver.v1.CommitMatch.Range - (*CommitMatch_Location)(nil), // 122: gitserver.v1.CommitMatch.Location - (*timestamppb.Timestamp)(nil), // 123: google.protobuf.Timestamp + (*RepoNotFoundPayload)(nil), // 55: gitserver.v1.RepoNotFoundPayload + (*RevisionNotFoundPayload)(nil), // 56: gitserver.v1.RevisionNotFoundPayload + (*FileNotFoundPayload)(nil), // 57: gitserver.v1.FileNotFoundPayload + (*SearchRequest)(nil), // 58: gitserver.v1.SearchRequest + (*RevisionSpecifier)(nil), // 59: gitserver.v1.RevisionSpecifier + (*AuthorMatchesNode)(nil), // 60: gitserver.v1.AuthorMatchesNode + (*CommitterMatchesNode)(nil), // 61: gitserver.v1.CommitterMatchesNode + (*CommitBeforeNode)(nil), // 62: gitserver.v1.CommitBeforeNode + (*CommitAfterNode)(nil), // 63: gitserver.v1.CommitAfterNode + (*MessageMatchesNode)(nil), // 64: gitserver.v1.MessageMatchesNode + (*DiffMatchesNode)(nil), // 65: gitserver.v1.DiffMatchesNode + (*DiffModifiesFileNode)(nil), // 66: gitserver.v1.DiffModifiesFileNode + (*BooleanNode)(nil), // 67: gitserver.v1.BooleanNode + (*OperatorNode)(nil), // 68: gitserver.v1.OperatorNode + (*QueryNode)(nil), // 69: gitserver.v1.QueryNode + (*SearchResponse)(nil), // 70: gitserver.v1.SearchResponse + (*CommitMatch)(nil), // 71: gitserver.v1.CommitMatch + (*ArchiveRequest)(nil), // 72: gitserver.v1.ArchiveRequest + (*ArchiveResponse)(nil), // 73: gitserver.v1.ArchiveResponse + (*IsRepoCloneableRequest)(nil), // 74: gitserver.v1.IsRepoCloneableRequest + (*IsRepoCloneableResponse)(nil), // 75: gitserver.v1.IsRepoCloneableResponse + (*RepoCloneProgressRequest)(nil), // 76: gitserver.v1.RepoCloneProgressRequest + (*RepoCloneProgressResponse)(nil), // 77: gitserver.v1.RepoCloneProgressResponse + (*ListGitoliteRequest)(nil), // 78: gitserver.v1.ListGitoliteRequest + (*GitoliteRepo)(nil), // 79: gitserver.v1.GitoliteRepo + (*ListGitoliteResponse)(nil), // 80: gitserver.v1.ListGitoliteResponse + (*GetObjectRequest)(nil), // 81: gitserver.v1.GetObjectRequest + (*GetObjectResponse)(nil), // 82: gitserver.v1.GetObjectResponse + (*GitObject)(nil), // 83: gitserver.v1.GitObject + (*IsPerforcePathCloneableRequest)(nil), // 84: gitserver.v1.IsPerforcePathCloneableRequest + (*IsPerforcePathCloneableResponse)(nil), // 85: gitserver.v1.IsPerforcePathCloneableResponse + (*CheckPerforceCredentialsRequest)(nil), // 86: gitserver.v1.CheckPerforceCredentialsRequest + (*CheckPerforceCredentialsResponse)(nil), // 87: gitserver.v1.CheckPerforceCredentialsResponse + (*PerforceConnectionDetails)(nil), // 88: gitserver.v1.PerforceConnectionDetails + (*PerforceGetChangelistRequest)(nil), // 89: gitserver.v1.PerforceGetChangelistRequest + (*PerforceGetChangelistResponse)(nil), // 90: gitserver.v1.PerforceGetChangelistResponse + (*PerforceChangelist)(nil), // 91: gitserver.v1.PerforceChangelist + (*IsPerforceSuperUserRequest)(nil), // 92: gitserver.v1.IsPerforceSuperUserRequest + (*IsPerforceSuperUserResponse)(nil), // 93: gitserver.v1.IsPerforceSuperUserResponse + (*PerforceProtectsForDepotRequest)(nil), // 94: gitserver.v1.PerforceProtectsForDepotRequest + (*PerforceProtectsForDepotResponse)(nil), // 95: gitserver.v1.PerforceProtectsForDepotResponse + (*PerforceProtectsForUserRequest)(nil), // 96: gitserver.v1.PerforceProtectsForUserRequest + (*PerforceProtectsForUserResponse)(nil), // 97: gitserver.v1.PerforceProtectsForUserResponse + (*PerforceProtect)(nil), // 98: gitserver.v1.PerforceProtect + (*PerforceGroupMembersRequest)(nil), // 99: gitserver.v1.PerforceGroupMembersRequest + (*PerforceGroupMembersResponse)(nil), // 100: gitserver.v1.PerforceGroupMembersResponse + (*PerforceUsersRequest)(nil), // 101: gitserver.v1.PerforceUsersRequest + (*PerforceUsersResponse)(nil), // 102: gitserver.v1.PerforceUsersResponse + (*PerforceUser)(nil), // 103: gitserver.v1.PerforceUser + (*MergeBaseRequest)(nil), // 104: gitserver.v1.MergeBaseRequest + (*MergeBaseResponse)(nil), // 105: gitserver.v1.MergeBaseResponse + (*FirstEverCommitRequest)(nil), // 106: gitserver.v1.FirstEverCommitRequest + (*FirstEverCommitResponse)(nil), // 107: gitserver.v1.FirstEverCommitResponse + (*BehindAheadRequest)(nil), // 108: gitserver.v1.BehindAheadRequest + (*BehindAheadResponse)(nil), // 109: gitserver.v1.BehindAheadResponse + (*ChangedFilesRequest)(nil), // 110: gitserver.v1.ChangedFilesRequest + (*ChangedFilesResponse)(nil), // 111: gitserver.v1.ChangedFilesResponse + (*ChangedFile)(nil), // 112: gitserver.v1.ChangedFile + (*ListRepositoriesResponse_GitRepository)(nil), // 113: gitserver.v1.ListRepositoriesResponse.GitRepository + (*CreateCommitFromPatchBinaryRequest_Metadata)(nil), // 114: gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata + (*CreateCommitFromPatchBinaryRequest_Patch)(nil), // 115: gitserver.v1.CreateCommitFromPatchBinaryRequest.Patch + (*CommitMatch_Signature)(nil), // 116: gitserver.v1.CommitMatch.Signature + (*CommitMatch_MatchedString)(nil), // 117: gitserver.v1.CommitMatch.MatchedString + (*CommitMatch_Range)(nil), // 118: gitserver.v1.CommitMatch.Range + (*CommitMatch_Location)(nil), // 119: gitserver.v1.CommitMatch.Location + (*timestamppb.Timestamp)(nil), // 120: google.protobuf.Timestamp } var file_gitserver_proto_depIdxs = []int32{ - 116, // 0: gitserver.v1.ListRepositoriesResponse.repositories:type_name -> gitserver.v1.ListRepositoriesResponse.GitRepository - 123, // 1: gitserver.v1.FetchRepositoryResponse.last_fetched:type_name -> google.protobuf.Timestamp - 123, // 2: gitserver.v1.FetchRepositoryResponse.last_changed:type_name -> google.protobuf.Timestamp - 123, // 3: gitserver.v1.CommitLogRequest.after:type_name -> google.protobuf.Timestamp - 123, // 4: gitserver.v1.CommitLogRequest.before:type_name -> google.protobuf.Timestamp + 113, // 0: gitserver.v1.ListRepositoriesResponse.repositories:type_name -> gitserver.v1.ListRepositoriesResponse.GitRepository + 120, // 1: gitserver.v1.FetchRepositoryResponse.last_fetched:type_name -> google.protobuf.Timestamp + 120, // 2: gitserver.v1.FetchRepositoryResponse.last_changed:type_name -> google.protobuf.Timestamp + 120, // 3: gitserver.v1.CommitLogRequest.after:type_name -> google.protobuf.Timestamp + 120, // 4: gitserver.v1.CommitLogRequest.before:type_name -> google.protobuf.Timestamp 2, // 5: gitserver.v1.CommitLogRequest.order:type_name -> gitserver.v1.CommitLogRequest.CommitLogOrder 35, // 6: gitserver.v1.CommitLogResponse.commits:type_name -> gitserver.v1.GetCommitResponse - 123, // 7: gitserver.v1.ContributorCountsRequest.after:type_name -> google.protobuf.Timestamp + 120, // 7: gitserver.v1.ContributorCountsRequest.after:type_name -> google.protobuf.Timestamp 37, // 8: gitserver.v1.ContributorCount.author:type_name -> gitserver.v1.GitSignature 17, // 9: gitserver.v1.ContributorCountsResponse.counts:type_name -> gitserver.v1.ContributorCount 3, // 10: gitserver.v1.RawDiffRequest.comparison_type:type_name -> gitserver.v1.RawDiffRequest.ComparisonType 23, // 11: gitserver.v1.ListRefsResponse.refs:type_name -> gitserver.v1.GitRef - 123, // 12: gitserver.v1.GitRef.created_at:type_name -> google.protobuf.Timestamp + 120, // 12: gitserver.v1.GitRef.created_at:type_name -> google.protobuf.Timestamp 4, // 13: gitserver.v1.GitRef.ref_type:type_name -> gitserver.v1.GitRef.RefType 29, // 14: gitserver.v1.StatResponse.file_info:type_name -> gitserver.v1.FileInfo 29, // 15: gitserver.v1.ReadDirResponse.file_info:type_name -> gitserver.v1.FileInfo 28, // 16: gitserver.v1.FileInfo.submodule:type_name -> gitserver.v1.GitSubmodule - 123, // 17: gitserver.v1.RevAtTimeRequest.time:type_name -> google.protobuf.Timestamp + 120, // 17: gitserver.v1.RevAtTimeRequest.time:type_name -> google.protobuf.Timestamp 36, // 18: gitserver.v1.GetCommitResponse.commit:type_name -> gitserver.v1.GitCommit 37, // 19: gitserver.v1.GitCommit.author:type_name -> gitserver.v1.GitSignature 37, // 20: gitserver.v1.GitCommit.committer:type_name -> gitserver.v1.GitSignature - 123, // 21: gitserver.v1.GitSignature.date:type_name -> google.protobuf.Timestamp + 120, // 21: gitserver.v1.GitSignature.date:type_name -> google.protobuf.Timestamp 39, // 22: gitserver.v1.BlameRequest.range:type_name -> gitserver.v1.BlameRange 41, // 23: gitserver.v1.BlameResponse.hunk:type_name -> gitserver.v1.BlameHunk 42, // 24: gitserver.v1.BlameHunk.author:type_name -> gitserver.v1.BlameAuthor 43, // 25: gitserver.v1.BlameHunk.previous_commit:type_name -> gitserver.v1.PreviousCommit - 123, // 26: gitserver.v1.BlameAuthor.date:type_name -> google.protobuf.Timestamp - 123, // 27: gitserver.v1.PatchCommitInfo.date:type_name -> google.protobuf.Timestamp - 117, // 28: gitserver.v1.CreateCommitFromPatchBinaryRequest.metadata:type_name -> gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata - 118, // 29: gitserver.v1.CreateCommitFromPatchBinaryRequest.patch:type_name -> gitserver.v1.CreateCommitFromPatchBinaryRequest.Patch - 62, // 30: gitserver.v1.SearchRequest.revisions:type_name -> gitserver.v1.RevisionSpecifier - 72, // 31: gitserver.v1.SearchRequest.query:type_name -> gitserver.v1.QueryNode - 123, // 32: gitserver.v1.CommitBeforeNode.timestamp:type_name -> google.protobuf.Timestamp - 123, // 33: gitserver.v1.CommitAfterNode.timestamp:type_name -> google.protobuf.Timestamp + 120, // 26: gitserver.v1.BlameAuthor.date:type_name -> google.protobuf.Timestamp + 120, // 27: gitserver.v1.PatchCommitInfo.date:type_name -> google.protobuf.Timestamp + 114, // 28: gitserver.v1.CreateCommitFromPatchBinaryRequest.metadata:type_name -> gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata + 115, // 29: gitserver.v1.CreateCommitFromPatchBinaryRequest.patch:type_name -> gitserver.v1.CreateCommitFromPatchBinaryRequest.Patch + 59, // 30: gitserver.v1.SearchRequest.revisions:type_name -> gitserver.v1.RevisionSpecifier + 69, // 31: gitserver.v1.SearchRequest.query:type_name -> gitserver.v1.QueryNode + 120, // 32: gitserver.v1.CommitBeforeNode.timestamp:type_name -> google.protobuf.Timestamp + 120, // 33: gitserver.v1.CommitAfterNode.timestamp:type_name -> google.protobuf.Timestamp 0, // 34: gitserver.v1.OperatorNode.kind:type_name -> gitserver.v1.OperatorKind - 72, // 35: gitserver.v1.OperatorNode.operands:type_name -> gitserver.v1.QueryNode - 63, // 36: gitserver.v1.QueryNode.author_matches:type_name -> gitserver.v1.AuthorMatchesNode - 64, // 37: gitserver.v1.QueryNode.committer_matches:type_name -> gitserver.v1.CommitterMatchesNode - 65, // 38: gitserver.v1.QueryNode.commit_before:type_name -> gitserver.v1.CommitBeforeNode - 66, // 39: gitserver.v1.QueryNode.commit_after:type_name -> gitserver.v1.CommitAfterNode - 67, // 40: gitserver.v1.QueryNode.message_matches:type_name -> gitserver.v1.MessageMatchesNode - 68, // 41: gitserver.v1.QueryNode.diff_matches:type_name -> gitserver.v1.DiffMatchesNode - 69, // 42: gitserver.v1.QueryNode.diff_modifies_file:type_name -> gitserver.v1.DiffModifiesFileNode - 70, // 43: gitserver.v1.QueryNode.boolean:type_name -> gitserver.v1.BooleanNode - 71, // 44: gitserver.v1.QueryNode.operator:type_name -> gitserver.v1.OperatorNode - 74, // 45: gitserver.v1.SearchResponse.match:type_name -> gitserver.v1.CommitMatch - 119, // 46: gitserver.v1.CommitMatch.author:type_name -> gitserver.v1.CommitMatch.Signature - 119, // 47: gitserver.v1.CommitMatch.committer:type_name -> gitserver.v1.CommitMatch.Signature - 120, // 48: gitserver.v1.CommitMatch.message:type_name -> gitserver.v1.CommitMatch.MatchedString - 120, // 49: gitserver.v1.CommitMatch.diff:type_name -> gitserver.v1.CommitMatch.MatchedString + 69, // 35: gitserver.v1.OperatorNode.operands:type_name -> gitserver.v1.QueryNode + 60, // 36: gitserver.v1.QueryNode.author_matches:type_name -> gitserver.v1.AuthorMatchesNode + 61, // 37: gitserver.v1.QueryNode.committer_matches:type_name -> gitserver.v1.CommitterMatchesNode + 62, // 38: gitserver.v1.QueryNode.commit_before:type_name -> gitserver.v1.CommitBeforeNode + 63, // 39: gitserver.v1.QueryNode.commit_after:type_name -> gitserver.v1.CommitAfterNode + 64, // 40: gitserver.v1.QueryNode.message_matches:type_name -> gitserver.v1.MessageMatchesNode + 65, // 41: gitserver.v1.QueryNode.diff_matches:type_name -> gitserver.v1.DiffMatchesNode + 66, // 42: gitserver.v1.QueryNode.diff_modifies_file:type_name -> gitserver.v1.DiffModifiesFileNode + 67, // 43: gitserver.v1.QueryNode.boolean:type_name -> gitserver.v1.BooleanNode + 68, // 44: gitserver.v1.QueryNode.operator:type_name -> gitserver.v1.OperatorNode + 71, // 45: gitserver.v1.SearchResponse.match:type_name -> gitserver.v1.CommitMatch + 116, // 46: gitserver.v1.CommitMatch.author:type_name -> gitserver.v1.CommitMatch.Signature + 116, // 47: gitserver.v1.CommitMatch.committer:type_name -> gitserver.v1.CommitMatch.Signature + 117, // 48: gitserver.v1.CommitMatch.message:type_name -> gitserver.v1.CommitMatch.MatchedString + 117, // 49: gitserver.v1.CommitMatch.diff:type_name -> gitserver.v1.CommitMatch.MatchedString 1, // 50: gitserver.v1.ArchiveRequest.format:type_name -> gitserver.v1.ArchiveFormat - 82, // 51: gitserver.v1.ListGitoliteResponse.repos:type_name -> gitserver.v1.GitoliteRepo - 86, // 52: gitserver.v1.GetObjectResponse.object:type_name -> gitserver.v1.GitObject + 79, // 51: gitserver.v1.ListGitoliteResponse.repos:type_name -> gitserver.v1.GitoliteRepo + 83, // 52: gitserver.v1.GetObjectResponse.object:type_name -> gitserver.v1.GitObject 5, // 53: gitserver.v1.GitObject.type:type_name -> gitserver.v1.GitObject.ObjectType - 91, // 54: gitserver.v1.IsPerforcePathCloneableRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 91, // 55: gitserver.v1.CheckPerforceCredentialsRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 91, // 56: gitserver.v1.PerforceGetChangelistRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 94, // 57: gitserver.v1.PerforceGetChangelistResponse.changelist:type_name -> gitserver.v1.PerforceChangelist - 123, // 58: gitserver.v1.PerforceChangelist.creation_date:type_name -> google.protobuf.Timestamp + 88, // 54: gitserver.v1.IsPerforcePathCloneableRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 88, // 55: gitserver.v1.CheckPerforceCredentialsRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 88, // 56: gitserver.v1.PerforceGetChangelistRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 91, // 57: gitserver.v1.PerforceGetChangelistResponse.changelist:type_name -> gitserver.v1.PerforceChangelist + 120, // 58: gitserver.v1.PerforceChangelist.creation_date:type_name -> google.protobuf.Timestamp 6, // 59: gitserver.v1.PerforceChangelist.state:type_name -> gitserver.v1.PerforceChangelist.PerforceChangelistState - 91, // 60: gitserver.v1.IsPerforceSuperUserRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 91, // 61: gitserver.v1.PerforceProtectsForDepotRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 101, // 62: gitserver.v1.PerforceProtectsForDepotResponse.protects:type_name -> gitserver.v1.PerforceProtect - 91, // 63: gitserver.v1.PerforceProtectsForUserRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 101, // 64: gitserver.v1.PerforceProtectsForUserResponse.protects:type_name -> gitserver.v1.PerforceProtect - 91, // 65: gitserver.v1.PerforceGroupMembersRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 91, // 66: gitserver.v1.PerforceUsersRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails - 106, // 67: gitserver.v1.PerforceUsersResponse.users:type_name -> gitserver.v1.PerforceUser + 88, // 60: gitserver.v1.IsPerforceSuperUserRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 88, // 61: gitserver.v1.PerforceProtectsForDepotRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 98, // 62: gitserver.v1.PerforceProtectsForDepotResponse.protects:type_name -> gitserver.v1.PerforceProtect + 88, // 63: gitserver.v1.PerforceProtectsForUserRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 98, // 64: gitserver.v1.PerforceProtectsForUserResponse.protects:type_name -> gitserver.v1.PerforceProtect + 88, // 65: gitserver.v1.PerforceGroupMembersRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 88, // 66: gitserver.v1.PerforceUsersRequest.connection_details:type_name -> gitserver.v1.PerforceConnectionDetails + 103, // 67: gitserver.v1.PerforceUsersResponse.users:type_name -> gitserver.v1.PerforceUser 36, // 68: gitserver.v1.FirstEverCommitResponse.commit:type_name -> gitserver.v1.GitCommit - 115, // 69: gitserver.v1.ChangedFilesResponse.files:type_name -> gitserver.v1.ChangedFile + 112, // 69: gitserver.v1.ChangedFilesResponse.files:type_name -> gitserver.v1.ChangedFile 7, // 70: gitserver.v1.ChangedFile.status:type_name -> gitserver.v1.ChangedFile.Status 50, // 71: gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata.commit_info:type_name -> gitserver.v1.PatchCommitInfo 51, // 72: gitserver.v1.CreateCommitFromPatchBinaryRequest.Metadata.push:type_name -> gitserver.v1.PushConfig - 123, // 73: gitserver.v1.CommitMatch.Signature.date:type_name -> google.protobuf.Timestamp - 121, // 74: gitserver.v1.CommitMatch.MatchedString.ranges:type_name -> gitserver.v1.CommitMatch.Range - 122, // 75: gitserver.v1.CommitMatch.Range.start:type_name -> gitserver.v1.CommitMatch.Location - 122, // 76: gitserver.v1.CommitMatch.Range.end:type_name -> gitserver.v1.CommitMatch.Location + 120, // 73: gitserver.v1.CommitMatch.Signature.date:type_name -> google.protobuf.Timestamp + 118, // 74: gitserver.v1.CommitMatch.MatchedString.ranges:type_name -> gitserver.v1.CommitMatch.Range + 119, // 75: gitserver.v1.CommitMatch.Range.start:type_name -> gitserver.v1.CommitMatch.Location + 119, // 76: gitserver.v1.CommitMatch.Range.end:type_name -> gitserver.v1.CommitMatch.Location 10, // 77: gitserver.v1.GitserverRepositoryService.DeleteRepository:input_type -> gitserver.v1.DeleteRepositoryRequest 12, // 78: gitserver.v1.GitserverRepositoryService.FetchRepository:input_type -> gitserver.v1.FetchRepositoryRequest 8, // 79: gitserver.v1.GitserverRepositoryService.ListRepositories:input_type -> gitserver.v1.ListRepositoriesRequest 52, // 80: gitserver.v1.GitserverService.CreateCommitFromPatchBinary:input_type -> gitserver.v1.CreateCommitFromPatchBinaryRequest 48, // 81: gitserver.v1.GitserverService.DiskInfo:input_type -> gitserver.v1.DiskInfoRequest - 55, // 82: gitserver.v1.GitserverService.Exec:input_type -> gitserver.v1.ExecRequest - 84, // 83: gitserver.v1.GitserverService.GetObject:input_type -> gitserver.v1.GetObjectRequest - 77, // 84: gitserver.v1.GitserverService.IsRepoCloneable:input_type -> gitserver.v1.IsRepoCloneableRequest - 81, // 85: gitserver.v1.GitserverService.ListGitolite:input_type -> gitserver.v1.ListGitoliteRequest - 61, // 86: gitserver.v1.GitserverService.Search:input_type -> gitserver.v1.SearchRequest - 75, // 87: gitserver.v1.GitserverService.Archive:input_type -> gitserver.v1.ArchiveRequest - 79, // 88: gitserver.v1.GitserverService.RepoCloneProgress:input_type -> gitserver.v1.RepoCloneProgressRequest - 87, // 89: gitserver.v1.GitserverService.IsPerforcePathCloneable:input_type -> gitserver.v1.IsPerforcePathCloneableRequest - 89, // 90: gitserver.v1.GitserverService.CheckPerforceCredentials:input_type -> gitserver.v1.CheckPerforceCredentialsRequest - 104, // 91: gitserver.v1.GitserverService.PerforceUsers:input_type -> gitserver.v1.PerforceUsersRequest - 99, // 92: gitserver.v1.GitserverService.PerforceProtectsForUser:input_type -> gitserver.v1.PerforceProtectsForUserRequest - 97, // 93: gitserver.v1.GitserverService.PerforceProtectsForDepot:input_type -> gitserver.v1.PerforceProtectsForDepotRequest - 102, // 94: gitserver.v1.GitserverService.PerforceGroupMembers:input_type -> gitserver.v1.PerforceGroupMembersRequest - 95, // 95: gitserver.v1.GitserverService.IsPerforceSuperUser:input_type -> gitserver.v1.IsPerforceSuperUserRequest - 92, // 96: gitserver.v1.GitserverService.PerforceGetChangelist:input_type -> gitserver.v1.PerforceGetChangelistRequest - 107, // 97: gitserver.v1.GitserverService.MergeBase:input_type -> gitserver.v1.MergeBaseRequest - 38, // 98: gitserver.v1.GitserverService.Blame:input_type -> gitserver.v1.BlameRequest - 44, // 99: gitserver.v1.GitserverService.DefaultBranch:input_type -> gitserver.v1.DefaultBranchRequest - 46, // 100: gitserver.v1.GitserverService.ReadFile:input_type -> gitserver.v1.ReadFileRequest - 34, // 101: gitserver.v1.GitserverService.GetCommit:input_type -> gitserver.v1.GetCommitRequest - 30, // 102: gitserver.v1.GitserverService.ResolveRevision:input_type -> gitserver.v1.ResolveRevisionRequest - 21, // 103: gitserver.v1.GitserverService.ListRefs:input_type -> gitserver.v1.ListRefsRequest - 32, // 104: gitserver.v1.GitserverService.RevAtTime:input_type -> gitserver.v1.RevAtTimeRequest - 19, // 105: gitserver.v1.GitserverService.RawDiff:input_type -> gitserver.v1.RawDiffRequest - 16, // 106: gitserver.v1.GitserverService.ContributorCounts:input_type -> gitserver.v1.ContributorCountsRequest - 109, // 107: gitserver.v1.GitserverService.FirstEverCommit:input_type -> gitserver.v1.FirstEverCommitRequest - 111, // 108: gitserver.v1.GitserverService.BehindAhead:input_type -> gitserver.v1.BehindAheadRequest - 113, // 109: gitserver.v1.GitserverService.ChangedFiles:input_type -> gitserver.v1.ChangedFilesRequest - 24, // 110: gitserver.v1.GitserverService.Stat:input_type -> gitserver.v1.StatRequest - 26, // 111: gitserver.v1.GitserverService.ReadDir:input_type -> gitserver.v1.ReadDirRequest - 14, // 112: gitserver.v1.GitserverService.CommitLog:input_type -> gitserver.v1.CommitLogRequest - 11, // 113: gitserver.v1.GitserverRepositoryService.DeleteRepository:output_type -> gitserver.v1.DeleteRepositoryResponse - 13, // 114: gitserver.v1.GitserverRepositoryService.FetchRepository:output_type -> gitserver.v1.FetchRepositoryResponse - 9, // 115: gitserver.v1.GitserverRepositoryService.ListRepositories:output_type -> gitserver.v1.ListRepositoriesResponse - 54, // 116: gitserver.v1.GitserverService.CreateCommitFromPatchBinary:output_type -> gitserver.v1.CreateCommitFromPatchBinaryResponse - 49, // 117: gitserver.v1.GitserverService.DiskInfo:output_type -> gitserver.v1.DiskInfoResponse - 56, // 118: gitserver.v1.GitserverService.Exec:output_type -> gitserver.v1.ExecResponse - 85, // 119: gitserver.v1.GitserverService.GetObject:output_type -> gitserver.v1.GetObjectResponse - 78, // 120: gitserver.v1.GitserverService.IsRepoCloneable:output_type -> gitserver.v1.IsRepoCloneableResponse - 83, // 121: gitserver.v1.GitserverService.ListGitolite:output_type -> gitserver.v1.ListGitoliteResponse - 73, // 122: gitserver.v1.GitserverService.Search:output_type -> gitserver.v1.SearchResponse - 76, // 123: gitserver.v1.GitserverService.Archive:output_type -> gitserver.v1.ArchiveResponse - 80, // 124: gitserver.v1.GitserverService.RepoCloneProgress:output_type -> gitserver.v1.RepoCloneProgressResponse - 88, // 125: gitserver.v1.GitserverService.IsPerforcePathCloneable:output_type -> gitserver.v1.IsPerforcePathCloneableResponse - 90, // 126: gitserver.v1.GitserverService.CheckPerforceCredentials:output_type -> gitserver.v1.CheckPerforceCredentialsResponse - 105, // 127: gitserver.v1.GitserverService.PerforceUsers:output_type -> gitserver.v1.PerforceUsersResponse - 100, // 128: gitserver.v1.GitserverService.PerforceProtectsForUser:output_type -> gitserver.v1.PerforceProtectsForUserResponse - 98, // 129: gitserver.v1.GitserverService.PerforceProtectsForDepot:output_type -> gitserver.v1.PerforceProtectsForDepotResponse - 103, // 130: gitserver.v1.GitserverService.PerforceGroupMembers:output_type -> gitserver.v1.PerforceGroupMembersResponse - 96, // 131: gitserver.v1.GitserverService.IsPerforceSuperUser:output_type -> gitserver.v1.IsPerforceSuperUserResponse - 93, // 132: gitserver.v1.GitserverService.PerforceGetChangelist:output_type -> gitserver.v1.PerforceGetChangelistResponse - 108, // 133: gitserver.v1.GitserverService.MergeBase:output_type -> gitserver.v1.MergeBaseResponse - 40, // 134: gitserver.v1.GitserverService.Blame:output_type -> gitserver.v1.BlameResponse - 45, // 135: gitserver.v1.GitserverService.DefaultBranch:output_type -> gitserver.v1.DefaultBranchResponse - 47, // 136: gitserver.v1.GitserverService.ReadFile:output_type -> gitserver.v1.ReadFileResponse - 35, // 137: gitserver.v1.GitserverService.GetCommit:output_type -> gitserver.v1.GetCommitResponse - 31, // 138: gitserver.v1.GitserverService.ResolveRevision:output_type -> gitserver.v1.ResolveRevisionResponse - 22, // 139: gitserver.v1.GitserverService.ListRefs:output_type -> gitserver.v1.ListRefsResponse - 33, // 140: gitserver.v1.GitserverService.RevAtTime:output_type -> gitserver.v1.RevAtTimeResponse - 20, // 141: gitserver.v1.GitserverService.RawDiff:output_type -> gitserver.v1.RawDiffResponse - 18, // 142: gitserver.v1.GitserverService.ContributorCounts:output_type -> gitserver.v1.ContributorCountsResponse - 110, // 143: gitserver.v1.GitserverService.FirstEverCommit:output_type -> gitserver.v1.FirstEverCommitResponse - 112, // 144: gitserver.v1.GitserverService.BehindAhead:output_type -> gitserver.v1.BehindAheadResponse - 114, // 145: gitserver.v1.GitserverService.ChangedFiles:output_type -> gitserver.v1.ChangedFilesResponse - 25, // 146: gitserver.v1.GitserverService.Stat:output_type -> gitserver.v1.StatResponse - 27, // 147: gitserver.v1.GitserverService.ReadDir:output_type -> gitserver.v1.ReadDirResponse - 15, // 148: gitserver.v1.GitserverService.CommitLog:output_type -> gitserver.v1.CommitLogResponse - 113, // [113:149] is the sub-list for method output_type - 77, // [77:113] is the sub-list for method input_type + 81, // 82: gitserver.v1.GitserverService.GetObject:input_type -> gitserver.v1.GetObjectRequest + 74, // 83: gitserver.v1.GitserverService.IsRepoCloneable:input_type -> gitserver.v1.IsRepoCloneableRequest + 78, // 84: gitserver.v1.GitserverService.ListGitolite:input_type -> gitserver.v1.ListGitoliteRequest + 58, // 85: gitserver.v1.GitserverService.Search:input_type -> gitserver.v1.SearchRequest + 72, // 86: gitserver.v1.GitserverService.Archive:input_type -> gitserver.v1.ArchiveRequest + 76, // 87: gitserver.v1.GitserverService.RepoCloneProgress:input_type -> gitserver.v1.RepoCloneProgressRequest + 84, // 88: gitserver.v1.GitserverService.IsPerforcePathCloneable:input_type -> gitserver.v1.IsPerforcePathCloneableRequest + 86, // 89: gitserver.v1.GitserverService.CheckPerforceCredentials:input_type -> gitserver.v1.CheckPerforceCredentialsRequest + 101, // 90: gitserver.v1.GitserverService.PerforceUsers:input_type -> gitserver.v1.PerforceUsersRequest + 96, // 91: gitserver.v1.GitserverService.PerforceProtectsForUser:input_type -> gitserver.v1.PerforceProtectsForUserRequest + 94, // 92: gitserver.v1.GitserverService.PerforceProtectsForDepot:input_type -> gitserver.v1.PerforceProtectsForDepotRequest + 99, // 93: gitserver.v1.GitserverService.PerforceGroupMembers:input_type -> gitserver.v1.PerforceGroupMembersRequest + 92, // 94: gitserver.v1.GitserverService.IsPerforceSuperUser:input_type -> gitserver.v1.IsPerforceSuperUserRequest + 89, // 95: gitserver.v1.GitserverService.PerforceGetChangelist:input_type -> gitserver.v1.PerforceGetChangelistRequest + 104, // 96: gitserver.v1.GitserverService.MergeBase:input_type -> gitserver.v1.MergeBaseRequest + 38, // 97: gitserver.v1.GitserverService.Blame:input_type -> gitserver.v1.BlameRequest + 44, // 98: gitserver.v1.GitserverService.DefaultBranch:input_type -> gitserver.v1.DefaultBranchRequest + 46, // 99: gitserver.v1.GitserverService.ReadFile:input_type -> gitserver.v1.ReadFileRequest + 34, // 100: gitserver.v1.GitserverService.GetCommit:input_type -> gitserver.v1.GetCommitRequest + 30, // 101: gitserver.v1.GitserverService.ResolveRevision:input_type -> gitserver.v1.ResolveRevisionRequest + 21, // 102: gitserver.v1.GitserverService.ListRefs:input_type -> gitserver.v1.ListRefsRequest + 32, // 103: gitserver.v1.GitserverService.RevAtTime:input_type -> gitserver.v1.RevAtTimeRequest + 19, // 104: gitserver.v1.GitserverService.RawDiff:input_type -> gitserver.v1.RawDiffRequest + 16, // 105: gitserver.v1.GitserverService.ContributorCounts:input_type -> gitserver.v1.ContributorCountsRequest + 106, // 106: gitserver.v1.GitserverService.FirstEverCommit:input_type -> gitserver.v1.FirstEverCommitRequest + 108, // 107: gitserver.v1.GitserverService.BehindAhead:input_type -> gitserver.v1.BehindAheadRequest + 110, // 108: gitserver.v1.GitserverService.ChangedFiles:input_type -> gitserver.v1.ChangedFilesRequest + 24, // 109: gitserver.v1.GitserverService.Stat:input_type -> gitserver.v1.StatRequest + 26, // 110: gitserver.v1.GitserverService.ReadDir:input_type -> gitserver.v1.ReadDirRequest + 14, // 111: gitserver.v1.GitserverService.CommitLog:input_type -> gitserver.v1.CommitLogRequest + 11, // 112: gitserver.v1.GitserverRepositoryService.DeleteRepository:output_type -> gitserver.v1.DeleteRepositoryResponse + 13, // 113: gitserver.v1.GitserverRepositoryService.FetchRepository:output_type -> gitserver.v1.FetchRepositoryResponse + 9, // 114: gitserver.v1.GitserverRepositoryService.ListRepositories:output_type -> gitserver.v1.ListRepositoriesResponse + 54, // 115: gitserver.v1.GitserverService.CreateCommitFromPatchBinary:output_type -> gitserver.v1.CreateCommitFromPatchBinaryResponse + 49, // 116: gitserver.v1.GitserverService.DiskInfo:output_type -> gitserver.v1.DiskInfoResponse + 82, // 117: gitserver.v1.GitserverService.GetObject:output_type -> gitserver.v1.GetObjectResponse + 75, // 118: gitserver.v1.GitserverService.IsRepoCloneable:output_type -> gitserver.v1.IsRepoCloneableResponse + 80, // 119: gitserver.v1.GitserverService.ListGitolite:output_type -> gitserver.v1.ListGitoliteResponse + 70, // 120: gitserver.v1.GitserverService.Search:output_type -> gitserver.v1.SearchResponse + 73, // 121: gitserver.v1.GitserverService.Archive:output_type -> gitserver.v1.ArchiveResponse + 77, // 122: gitserver.v1.GitserverService.RepoCloneProgress:output_type -> gitserver.v1.RepoCloneProgressResponse + 85, // 123: gitserver.v1.GitserverService.IsPerforcePathCloneable:output_type -> gitserver.v1.IsPerforcePathCloneableResponse + 87, // 124: gitserver.v1.GitserverService.CheckPerforceCredentials:output_type -> gitserver.v1.CheckPerforceCredentialsResponse + 102, // 125: gitserver.v1.GitserverService.PerforceUsers:output_type -> gitserver.v1.PerforceUsersResponse + 97, // 126: gitserver.v1.GitserverService.PerforceProtectsForUser:output_type -> gitserver.v1.PerforceProtectsForUserResponse + 95, // 127: gitserver.v1.GitserverService.PerforceProtectsForDepot:output_type -> gitserver.v1.PerforceProtectsForDepotResponse + 100, // 128: gitserver.v1.GitserverService.PerforceGroupMembers:output_type -> gitserver.v1.PerforceGroupMembersResponse + 93, // 129: gitserver.v1.GitserverService.IsPerforceSuperUser:output_type -> gitserver.v1.IsPerforceSuperUserResponse + 90, // 130: gitserver.v1.GitserverService.PerforceGetChangelist:output_type -> gitserver.v1.PerforceGetChangelistResponse + 105, // 131: gitserver.v1.GitserverService.MergeBase:output_type -> gitserver.v1.MergeBaseResponse + 40, // 132: gitserver.v1.GitserverService.Blame:output_type -> gitserver.v1.BlameResponse + 45, // 133: gitserver.v1.GitserverService.DefaultBranch:output_type -> gitserver.v1.DefaultBranchResponse + 47, // 134: gitserver.v1.GitserverService.ReadFile:output_type -> gitserver.v1.ReadFileResponse + 35, // 135: gitserver.v1.GitserverService.GetCommit:output_type -> gitserver.v1.GetCommitResponse + 31, // 136: gitserver.v1.GitserverService.ResolveRevision:output_type -> gitserver.v1.ResolveRevisionResponse + 22, // 137: gitserver.v1.GitserverService.ListRefs:output_type -> gitserver.v1.ListRefsResponse + 33, // 138: gitserver.v1.GitserverService.RevAtTime:output_type -> gitserver.v1.RevAtTimeResponse + 20, // 139: gitserver.v1.GitserverService.RawDiff:output_type -> gitserver.v1.RawDiffResponse + 18, // 140: gitserver.v1.GitserverService.ContributorCounts:output_type -> gitserver.v1.ContributorCountsResponse + 107, // 141: gitserver.v1.GitserverService.FirstEverCommit:output_type -> gitserver.v1.FirstEverCommitResponse + 109, // 142: gitserver.v1.GitserverService.BehindAhead:output_type -> gitserver.v1.BehindAheadResponse + 111, // 143: gitserver.v1.GitserverService.ChangedFiles:output_type -> gitserver.v1.ChangedFilesResponse + 25, // 144: gitserver.v1.GitserverService.Stat:output_type -> gitserver.v1.StatResponse + 27, // 145: gitserver.v1.GitserverService.ReadDir:output_type -> gitserver.v1.ReadDirResponse + 15, // 146: gitserver.v1.GitserverService.CommitLog:output_type -> gitserver.v1.CommitLogResponse + 112, // [112:147] is the sub-list for method output_type + 77, // [77:112] is the sub-list for method input_type 77, // [77:77] is the sub-list for extension type_name 77, // [77:77] is the sub-list for extension extendee 0, // [0:77] is the sub-list for field type_name @@ -9712,30 +9492,6 @@ func file_gitserver_proto_init() { } } file_gitserver_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gitserver_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gitserver_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepoNotFoundPayload); i { case 0: return &v.state @@ -9747,7 +9503,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RevisionNotFoundPayload); i { case 0: return &v.state @@ -9759,7 +9515,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileNotFoundPayload); i { case 0: return &v.state @@ -9771,19 +9527,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecStatusPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gitserver_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest); i { case 0: return &v.state @@ -9795,7 +9539,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RevisionSpecifier); i { case 0: return &v.state @@ -9807,7 +9551,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthorMatchesNode); i { case 0: return &v.state @@ -9819,7 +9563,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitterMatchesNode); i { case 0: return &v.state @@ -9831,7 +9575,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitBeforeNode); i { case 0: return &v.state @@ -9843,7 +9587,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitAfterNode); i { case 0: return &v.state @@ -9855,7 +9599,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessageMatchesNode); i { case 0: return &v.state @@ -9867,7 +9611,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiffMatchesNode); i { case 0: return &v.state @@ -9879,7 +9623,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiffModifiesFileNode); i { case 0: return &v.state @@ -9891,7 +9635,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BooleanNode); i { case 0: return &v.state @@ -9903,7 +9647,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperatorNode); i { case 0: return &v.state @@ -9915,7 +9659,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryNode); i { case 0: return &v.state @@ -9927,7 +9671,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse); i { case 0: return &v.state @@ -9939,7 +9683,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitMatch); i { case 0: return &v.state @@ -9951,7 +9695,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveRequest); i { case 0: return &v.state @@ -9963,7 +9707,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveResponse); i { case 0: return &v.state @@ -9975,7 +9719,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsRepoCloneableRequest); i { case 0: return &v.state @@ -9987,7 +9731,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsRepoCloneableResponse); i { case 0: return &v.state @@ -9999,7 +9743,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepoCloneProgressRequest); i { case 0: return &v.state @@ -10011,7 +9755,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepoCloneProgressResponse); i { case 0: return &v.state @@ -10023,7 +9767,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGitoliteRequest); i { case 0: return &v.state @@ -10035,7 +9779,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GitoliteRepo); i { case 0: return &v.state @@ -10047,7 +9791,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGitoliteResponse); i { case 0: return &v.state @@ -10059,7 +9803,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetObjectRequest); i { case 0: return &v.state @@ -10071,7 +9815,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetObjectResponse); i { case 0: return &v.state @@ -10083,7 +9827,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GitObject); i { case 0: return &v.state @@ -10095,7 +9839,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsPerforcePathCloneableRequest); i { case 0: return &v.state @@ -10107,7 +9851,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsPerforcePathCloneableResponse); i { case 0: return &v.state @@ -10119,7 +9863,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPerforceCredentialsRequest); i { case 0: return &v.state @@ -10131,7 +9875,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPerforceCredentialsResponse); i { case 0: return &v.state @@ -10143,7 +9887,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceConnectionDetails); i { case 0: return &v.state @@ -10155,7 +9899,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceGetChangelistRequest); i { case 0: return &v.state @@ -10167,7 +9911,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceGetChangelistResponse); i { case 0: return &v.state @@ -10179,7 +9923,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceChangelist); i { case 0: return &v.state @@ -10191,7 +9935,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsPerforceSuperUserRequest); i { case 0: return &v.state @@ -10203,7 +9947,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsPerforceSuperUserResponse); i { case 0: return &v.state @@ -10215,7 +9959,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceProtectsForDepotRequest); i { case 0: return &v.state @@ -10227,7 +9971,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceProtectsForDepotResponse); i { case 0: return &v.state @@ -10239,7 +9983,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceProtectsForUserRequest); i { case 0: return &v.state @@ -10251,7 +9995,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceProtectsForUserResponse); i { case 0: return &v.state @@ -10263,7 +10007,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceProtect); i { case 0: return &v.state @@ -10275,7 +10019,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceGroupMembersRequest); i { case 0: return &v.state @@ -10287,7 +10031,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceGroupMembersResponse); i { case 0: return &v.state @@ -10299,7 +10043,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceUsersRequest); i { case 0: return &v.state @@ -10311,7 +10055,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceUsersResponse); i { case 0: return &v.state @@ -10323,7 +10067,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerforceUser); i { case 0: return &v.state @@ -10335,7 +10079,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MergeBaseRequest); i { case 0: return &v.state @@ -10347,7 +10091,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MergeBaseResponse); i { case 0: return &v.state @@ -10359,7 +10103,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirstEverCommitRequest); i { case 0: return &v.state @@ -10371,7 +10115,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirstEverCommitResponse); i { case 0: return &v.state @@ -10383,7 +10127,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BehindAheadRequest); i { case 0: return &v.state @@ -10395,7 +10139,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BehindAheadResponse); i { case 0: return &v.state @@ -10407,7 +10151,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangedFilesRequest); i { case 0: return &v.state @@ -10419,7 +10163,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangedFilesResponse); i { case 0: return &v.state @@ -10431,7 +10175,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangedFile); i { case 0: return &v.state @@ -10443,7 +10187,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRepositoriesResponse_GitRepository); i { case 0: return &v.state @@ -10455,7 +10199,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateCommitFromPatchBinaryRequest_Metadata); i { case 0: return &v.state @@ -10467,7 +10211,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateCommitFromPatchBinaryRequest_Patch); i { case 0: return &v.state @@ -10479,7 +10223,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitMatch_Signature); i { case 0: return &v.state @@ -10491,7 +10235,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitMatch_MatchedString); i { case 0: return &v.state @@ -10503,7 +10247,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitMatch_Range); i { case 0: return &v.state @@ -10515,7 +10259,7 @@ func file_gitserver_proto_init() { return nil } } - file_gitserver_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_gitserver_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommitMatch_Location); i { case 0: return &v.state @@ -10538,7 +10282,7 @@ func file_gitserver_proto_init() { (*CreateCommitFromPatchBinaryRequest_Metadata_)(nil), (*CreateCommitFromPatchBinaryRequest_Patch_)(nil), } - file_gitserver_proto_msgTypes[64].OneofWrappers = []interface{}{ + file_gitserver_proto_msgTypes[61].OneofWrappers = []interface{}{ (*QueryNode_AuthorMatches)(nil), (*QueryNode_CommitterMatches)(nil), (*QueryNode_CommitBefore)(nil), @@ -10549,19 +10293,19 @@ func file_gitserver_proto_init() { (*QueryNode_Boolean)(nil), (*QueryNode_Operator)(nil), } - file_gitserver_proto_msgTypes[65].OneofWrappers = []interface{}{ + file_gitserver_proto_msgTypes[62].OneofWrappers = []interface{}{ (*SearchResponse_Match)(nil), (*SearchResponse_LimitHit)(nil), } - file_gitserver_proto_msgTypes[105].OneofWrappers = []interface{}{} - file_gitserver_proto_msgTypes[109].OneofWrappers = []interface{}{} + file_gitserver_proto_msgTypes[102].OneofWrappers = []interface{}{} + file_gitserver_proto_msgTypes[106].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gitserver_proto_rawDesc, NumEnums: 8, - NumMessages: 115, + NumMessages: 112, NumExtensions: 0, NumServices: 2, }, diff --git a/internal/gitserver/v1/gitserver.proto b/internal/gitserver/v1/gitserver.proto index c0e4b56b862..7e8c69ad650 100644 --- a/internal/gitserver/v1/gitserver.proto +++ b/internal/gitserver/v1/gitserver.proto @@ -77,10 +77,6 @@ service GitserverService { rpc DiskInfo(DiskInfoRequest) returns (DiskInfoResponse) { option idempotency_level = NO_SIDE_EFFECTS; } - rpc Exec(ExecRequest) returns (stream ExecResponse) { - option deprecated = true; - } - // GetObject returns the object with the given OID in the given repository. // // If the object is not found, an error with a RevisionNotFoundPayload is @@ -815,18 +811,6 @@ message CreateCommitFromPatchBinaryResponse { string changelist_id = 3; } -message ExecRequest { - string repo = 1 [deprecated = true]; - bytes ensure_revision = 2 [deprecated = true]; - repeated bytes args = 3 [deprecated = true]; - bytes stdin = 4 [deprecated = true]; - bool no_timeout = 5 [deprecated = true]; -} - -message ExecResponse { - bytes data = 1 [deprecated = true]; -} - message RepoNotFoundPayload { string repo = 1; bool clone_in_progress = 2; @@ -844,11 +828,6 @@ message FileNotFoundPayload { bytes path = 3; } -message ExecStatusPayload { - int32 status_code = 1; - string stderr = 2; -} - message SearchRequest { // repo is the name of the repo to be searched string repo = 1; diff --git a/internal/gitserver/v1/gitserver_grpc.pb.go b/internal/gitserver/v1/gitserver_grpc.pb.go index 8936d3385d5..8d0d744e847 100644 --- a/internal/gitserver/v1/gitserver_grpc.pb.go +++ b/internal/gitserver/v1/gitserver_grpc.pb.go @@ -196,7 +196,6 @@ var GitserverRepositoryService_ServiceDesc = grpc.ServiceDesc{ const ( GitserverService_CreateCommitFromPatchBinary_FullMethodName = "/gitserver.v1.GitserverService/CreateCommitFromPatchBinary" GitserverService_DiskInfo_FullMethodName = "/gitserver.v1.GitserverService/DiskInfo" - GitserverService_Exec_FullMethodName = "/gitserver.v1.GitserverService/Exec" GitserverService_GetObject_FullMethodName = "/gitserver.v1.GitserverService/GetObject" GitserverService_IsRepoCloneable_FullMethodName = "/gitserver.v1.GitserverService/IsRepoCloneable" GitserverService_ListGitolite_FullMethodName = "/gitserver.v1.GitserverService/ListGitolite" @@ -235,8 +234,6 @@ const ( type GitserverServiceClient interface { CreateCommitFromPatchBinary(ctx context.Context, opts ...grpc.CallOption) (GitserverService_CreateCommitFromPatchBinaryClient, error) DiskInfo(ctx context.Context, in *DiskInfoRequest, opts ...grpc.CallOption) (*DiskInfoResponse, error) - // Deprecated: Do not use. - Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (GitserverService_ExecClient, error) // GetObject returns the object with the given OID in the given repository. // // If the object is not found, an error with a RevisionNotFoundPayload is @@ -495,39 +492,6 @@ func (c *gitserverServiceClient) DiskInfo(ctx context.Context, in *DiskInfoReque return out, nil } -// Deprecated: Do not use. -func (c *gitserverServiceClient) Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (GitserverService_ExecClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[1], GitserverService_Exec_FullMethodName, opts...) - if err != nil { - return nil, err - } - x := &gitserverServiceExecClient{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 GitserverService_ExecClient interface { - Recv() (*ExecResponse, error) - grpc.ClientStream -} - -type gitserverServiceExecClient struct { - grpc.ClientStream -} - -func (x *gitserverServiceExecClient) Recv() (*ExecResponse, error) { - m := new(ExecResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - func (c *gitserverServiceClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (*GetObjectResponse, error) { out := new(GetObjectResponse) err := c.cc.Invoke(ctx, GitserverService_GetObject_FullMethodName, in, out, opts...) @@ -556,7 +520,7 @@ func (c *gitserverServiceClient) ListGitolite(ctx context.Context, in *ListGitol } func (c *gitserverServiceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (GitserverService_SearchClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[2], GitserverService_Search_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[1], GitserverService_Search_FullMethodName, opts...) if err != nil { return nil, err } @@ -588,7 +552,7 @@ func (x *gitserverServiceSearchClient) Recv() (*SearchResponse, error) { } func (c *gitserverServiceClient) Archive(ctx context.Context, in *ArchiveRequest, opts ...grpc.CallOption) (GitserverService_ArchiveClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[3], GitserverService_Archive_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[2], GitserverService_Archive_FullMethodName, opts...) if err != nil { return nil, err } @@ -710,7 +674,7 @@ func (c *gitserverServiceClient) MergeBase(ctx context.Context, in *MergeBaseReq } func (c *gitserverServiceClient) Blame(ctx context.Context, in *BlameRequest, opts ...grpc.CallOption) (GitserverService_BlameClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[4], GitserverService_Blame_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[3], GitserverService_Blame_FullMethodName, opts...) if err != nil { return nil, err } @@ -751,7 +715,7 @@ func (c *gitserverServiceClient) DefaultBranch(ctx context.Context, in *DefaultB } func (c *gitserverServiceClient) ReadFile(ctx context.Context, in *ReadFileRequest, opts ...grpc.CallOption) (GitserverService_ReadFileClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[5], GitserverService_ReadFile_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[4], GitserverService_ReadFile_FullMethodName, opts...) if err != nil { return nil, err } @@ -801,7 +765,7 @@ func (c *gitserverServiceClient) ResolveRevision(ctx context.Context, in *Resolv } func (c *gitserverServiceClient) ListRefs(ctx context.Context, in *ListRefsRequest, opts ...grpc.CallOption) (GitserverService_ListRefsClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[6], GitserverService_ListRefs_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[5], GitserverService_ListRefs_FullMethodName, opts...) if err != nil { return nil, err } @@ -842,7 +806,7 @@ func (c *gitserverServiceClient) RevAtTime(ctx context.Context, in *RevAtTimeReq } func (c *gitserverServiceClient) RawDiff(ctx context.Context, in *RawDiffRequest, opts ...grpc.CallOption) (GitserverService_RawDiffClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[7], GitserverService_RawDiff_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[6], GitserverService_RawDiff_FullMethodName, opts...) if err != nil { return nil, err } @@ -901,7 +865,7 @@ func (c *gitserverServiceClient) BehindAhead(ctx context.Context, in *BehindAhea } func (c *gitserverServiceClient) ChangedFiles(ctx context.Context, in *ChangedFilesRequest, opts ...grpc.CallOption) (GitserverService_ChangedFilesClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[8], GitserverService_ChangedFiles_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[7], GitserverService_ChangedFiles_FullMethodName, opts...) if err != nil { return nil, err } @@ -942,7 +906,7 @@ func (c *gitserverServiceClient) Stat(ctx context.Context, in *StatRequest, opts } func (c *gitserverServiceClient) ReadDir(ctx context.Context, in *ReadDirRequest, opts ...grpc.CallOption) (GitserverService_ReadDirClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[9], GitserverService_ReadDir_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[8], GitserverService_ReadDir_FullMethodName, opts...) if err != nil { return nil, err } @@ -974,7 +938,7 @@ func (x *gitserverServiceReadDirClient) Recv() (*ReadDirResponse, error) { } func (c *gitserverServiceClient) CommitLog(ctx context.Context, in *CommitLogRequest, opts ...grpc.CallOption) (GitserverService_CommitLogClient, error) { - stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[10], GitserverService_CommitLog_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &GitserverService_ServiceDesc.Streams[9], GitserverService_CommitLog_FullMethodName, opts...) if err != nil { return nil, err } @@ -1011,8 +975,6 @@ func (x *gitserverServiceCommitLogClient) Recv() (*CommitLogResponse, error) { type GitserverServiceServer interface { CreateCommitFromPatchBinary(GitserverService_CreateCommitFromPatchBinaryServer) error DiskInfo(context.Context, *DiskInfoRequest) (*DiskInfoResponse, error) - // Deprecated: Do not use. - Exec(*ExecRequest, GitserverService_ExecServer) error // GetObject returns the object with the given OID in the given repository. // // If the object is not found, an error with a RevisionNotFoundPayload is @@ -1231,9 +1193,6 @@ func (UnimplementedGitserverServiceServer) CreateCommitFromPatchBinary(Gitserver func (UnimplementedGitserverServiceServer) DiskInfo(context.Context, *DiskInfoRequest) (*DiskInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DiskInfo not implemented") } -func (UnimplementedGitserverServiceServer) Exec(*ExecRequest, GitserverService_ExecServer) error { - return status.Errorf(codes.Unimplemented, "method Exec not implemented") -} func (UnimplementedGitserverServiceServer) GetObject(context.Context, *GetObjectRequest) (*GetObjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetObject not implemented") } @@ -1381,27 +1340,6 @@ func _GitserverService_DiskInfo_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _GitserverService_Exec_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ExecRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GitserverServiceServer).Exec(m, &gitserverServiceExecServer{stream}) -} - -type GitserverService_ExecServer interface { - Send(*ExecResponse) error - grpc.ServerStream -} - -type gitserverServiceExecServer struct { - grpc.ServerStream -} - -func (x *gitserverServiceExecServer) Send(m *ExecResponse) error { - return x.ServerStream.SendMsg(m) -} - func _GitserverService_GetObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetObjectRequest) if err := dec(in); err != nil { @@ -2071,11 +2009,6 @@ var GitserverService_ServiceDesc = grpc.ServiceDesc{ Handler: _GitserverService_CreateCommitFromPatchBinary_Handler, ClientStreams: true, }, - { - StreamName: "Exec", - Handler: _GitserverService_Exec_Handler, - ServerStreams: true, - }, { StreamName: "Search", Handler: _GitserverService_Search_Handler, diff --git a/mockgen.temp.yaml b/mockgen.temp.yaml index eea581576d4..e3f31e23874 100644 --- a/mockgen.temp.yaml +++ b/mockgen.temp.yaml @@ -135,7 +135,6 @@ path: github.com/sourcegraph/sourcegraph/internal/gitserver/v1 interfaces: - GitserverServiceClient - - GitserverService_ExecServer - GitserverService_ArchiveServer - GitserverService_ArchiveClient - GitserverService_BlameServer