feat(api): add GitService.ListPaths
- commit
- cb5699451db6f6e2b51232ccea2cf1be472dbfd3
- author
- brice · · 2026-10-11 18:27 UTC
- parent
- e9394b7
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
5 files · +297 -84
M README.md +1 -1
| @@ -17,7 +17,7 @@ Handlers are mounted under `/-/api/` by the server. Errors are Connect codes. | |||
| 17 | 17 | | Service | RPCs | | |
| 18 | 18 | |---|---| | |
| 19 | 19 | | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` | | |
| 20 | - | | `GitService` | `ListRefs`, `GetTree`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` | | |
| 20 | + | | `GitService` | `ListRefs`, `GetTree`, `ListPaths`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` | | |
| 21 | 21 | | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` | | |
| 22 | 22 | | `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest`, `MarkRead` | | |
| 23 | 23 | | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) | | |
| @@ -17,7 +17,7 @@ Handlers are mounted under `/-/api/` by the server. Errors are Connect codes. | |||||
| 17 | | Service | RPCs | | 17 | | Service | RPCs | | ||
| 18 | |---|---| | 18 | |---|---| | ||
| 19 | | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` | | 19 | | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` | | ||
| 20 | - | | `GitService` | `ListRefs`, `GetTree`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` | | 20 | + | | `GitService` | `ListRefs`, `GetTree`, `ListPaths`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` | |
| 21 | | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` | | 21 | | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` | | ||
| 22 | | `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest`, `MarkRead` | | 22 | | `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest`, `MarkRead` | | ||
| 23 | | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) | | 23 | | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) | | ||
M gen/ermite/ermiteconnect/git.connect.go +40 -0
| @@ -39,6 +39,8 @@ const ( | |||
| 39 | 39 | GitServiceListRefsProcedure = "/ermite.GitService/ListRefs" | |
| 40 | 40 | // GitServiceGetTreeProcedure is the fully-qualified name of the GitService's GetTree RPC. | |
| 41 | 41 | GitServiceGetTreeProcedure = "/ermite.GitService/GetTree" | |
| 42 | + | // GitServiceListPathsProcedure is the fully-qualified name of the GitService's ListPaths RPC. | |
| 43 | + | GitServiceListPathsProcedure = "/ermite.GitService/ListPaths" | |
| 42 | 44 | // GitServiceGetBlobProcedure is the fully-qualified name of the GitService's GetBlob RPC. | |
| 43 | 45 | GitServiceGetBlobProcedure = "/ermite.GitService/GetBlob" | |
| 44 | 46 | // GitServiceListCommitsProcedure is the fully-qualified name of the GitService's ListCommits RPC. | |
| @@ -59,6 +61,13 @@ type GitServiceClient interface { | |||
| 59 | 61 | // not_found if the path does not exist and invalid_argument if it is not a | |
| 60 | 62 | // directory. | |
| 61 | 63 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | |
| 64 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |
| 65 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |
| 66 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |
| 67 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |
| 68 | + | // revision or an empty repository. Servers that have it advertise the | |
| 69 | + | // feature "git.list_paths" in GetVersion. | |
| 70 | + | ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) | |
| 62 | 71 | // GetBlob streams the content of a file at a revision, in chunks of at most | |
| 63 | 72 | // 64 KiB. The first message carries the metadata in info, then the chunks | |
| 64 | 73 | // follow; the memory used by the server does not depend on the file size. | |
| @@ -99,6 +108,12 @@ func NewGitServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... | |||
| 99 | 108 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | |
| 100 | 109 | connect.WithClientOptions(opts...), | |
| 101 | 110 | ), | |
| 111 | + | listPaths: connect.NewClient[ermite.ListPathsRequest, ermite.ListPathsResponse]( | |
| 112 | + | httpClient, | |
| 113 | + | baseURL+GitServiceListPathsProcedure, | |
| 114 | + | connect.WithSchema(gitServiceMethods.ByName("ListPaths")), | |
| 115 | + | connect.WithClientOptions(opts...), | |
| 116 | + | ), | |
| 102 | 117 | getBlob: connect.NewClient[ermite.GetBlobRequest, ermite.GetBlobResponse]( | |
| 103 | 118 | httpClient, | |
| 104 | 119 | baseURL+GitServiceGetBlobProcedure, | |
| @@ -130,6 +145,7 @@ func NewGitServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... | |||
| 130 | 145 | type gitServiceClient struct { | |
| 131 | 146 | listRefs *connect.Client[ermite.ListRefsRequest, ermite.ListRefsResponse] | |
| 132 | 147 | getTree *connect.Client[ermite.GetTreeRequest, ermite.GetTreeResponse] | |
| 148 | + | listPaths *connect.Client[ermite.ListPathsRequest, ermite.ListPathsResponse] | |
| 133 | 149 | getBlob *connect.Client[ermite.GetBlobRequest, ermite.GetBlobResponse] | |
| 134 | 150 | listCommits *connect.Client[ermite.ListCommitsRequest, ermite.ListCommitsResponse] | |
| 135 | 151 | getCommit *connect.Client[ermite.GetCommitRequest, ermite.GetCommitResponse] | |
| @@ -146,6 +162,11 @@ func (c *gitServiceClient) GetTree(ctx context.Context, req *connect.Request[erm | |||
| 146 | 162 | return c.getTree.CallUnary(ctx, req) | |
| 147 | 163 | } | |
| 148 | 164 | ||
| 165 | + | // ListPaths calls ermite.GitService.ListPaths. | |
| 166 | + | func (c *gitServiceClient) ListPaths(ctx context.Context, req *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) { | |
| 167 | + | return c.listPaths.CallUnary(ctx, req) | |
| 168 | + | } | |
| 169 | + | ||
| 149 | 170 | // GetBlob calls ermite.GitService.GetBlob. | |
| 150 | 171 | func (c *gitServiceClient) GetBlob(ctx context.Context, req *connect.Request[ermite.GetBlobRequest]) (*connect.ServerStreamForClient[ermite.GetBlobResponse], error) { | |
| 151 | 172 | return c.getBlob.CallServerStream(ctx, req) | |
| @@ -175,6 +196,13 @@ type GitServiceHandler interface { | |||
| 175 | 196 | // not_found if the path does not exist and invalid_argument if it is not a | |
| 176 | 197 | // directory. | |
| 177 | 198 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | |
| 199 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |
| 200 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |
| 201 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |
| 202 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |
| 203 | + | // revision or an empty repository. Servers that have it advertise the | |
| 204 | + | // feature "git.list_paths" in GetVersion. | |
| 205 | + | ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) | |
| 178 | 206 | // GetBlob streams the content of a file at a revision, in chunks of at most | |
| 179 | 207 | // 64 KiB. The first message carries the metadata in info, then the chunks | |
| 180 | 208 | // follow; the memory used by the server does not depend on the file size. | |
| @@ -211,6 +239,12 @@ func NewGitServiceHandler(svc GitServiceHandler, opts ...connect.HandlerOption) | |||
| 211 | 239 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | |
| 212 | 240 | connect.WithHandlerOptions(opts...), | |
| 213 | 241 | ) | |
| 242 | + | gitServiceListPathsHandler := connect.NewUnaryHandler( | |
| 243 | + | GitServiceListPathsProcedure, | |
| 244 | + | svc.ListPaths, | |
| 245 | + | connect.WithSchema(gitServiceMethods.ByName("ListPaths")), | |
| 246 | + | connect.WithHandlerOptions(opts...), | |
| 247 | + | ) | |
| 214 | 248 | gitServiceGetBlobHandler := connect.NewServerStreamHandler( | |
| 215 | 249 | GitServiceGetBlobProcedure, | |
| 216 | 250 | svc.GetBlob, | |
| @@ -241,6 +275,8 @@ func NewGitServiceHandler(svc GitServiceHandler, opts ...connect.HandlerOption) | |||
| 241 | 275 | gitServiceListRefsHandler.ServeHTTP(w, r) | |
| 242 | 276 | case GitServiceGetTreeProcedure: | |
| 243 | 277 | gitServiceGetTreeHandler.ServeHTTP(w, r) | |
| 278 | + | case GitServiceListPathsProcedure: | |
| 279 | + | gitServiceListPathsHandler.ServeHTTP(w, r) | |
| 244 | 280 | case GitServiceGetBlobProcedure: | |
| 245 | 281 | gitServiceGetBlobHandler.ServeHTTP(w, r) | |
| 246 | 282 | case GitServiceListCommitsProcedure: | |
| @@ -266,6 +302,10 @@ func (UnimplementedGitServiceHandler) GetTree(context.Context, *connect.Request[ | |||
| 266 | 302 | return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetTree is not implemented")) | |
| 267 | 303 | } | |
| 268 | 304 | ||
| 305 | + | func (UnimplementedGitServiceHandler) ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) { | |
| 306 | + | return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.ListPaths is not implemented")) | |
| 307 | + | } | |
| 308 | + | ||
| 269 | 309 | func (UnimplementedGitServiceHandler) GetBlob(context.Context, *connect.Request[ermite.GetBlobRequest], *connect.ServerStream[ermite.GetBlobResponse]) error { | |
| 270 | 310 | return connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetBlob is not implemented")) | |
| 271 | 311 | } | |
| @@ -39,6 +39,8 @@ const ( | |||||
| 39 | GitServiceListRefsProcedure = "/ermite.GitService/ListRefs" | 39 | GitServiceListRefsProcedure = "/ermite.GitService/ListRefs" | ||
| 40 | // GitServiceGetTreeProcedure is the fully-qualified name of the GitService's GetTree RPC. | 40 | // GitServiceGetTreeProcedure is the fully-qualified name of the GitService's GetTree RPC. | ||
| 41 | GitServiceGetTreeProcedure = "/ermite.GitService/GetTree" | 41 | GitServiceGetTreeProcedure = "/ermite.GitService/GetTree" | ||
| 42 | + | // GitServiceListPathsProcedure is the fully-qualified name of the GitService's ListPaths RPC. | |||
| 43 | + | GitServiceListPathsProcedure = "/ermite.GitService/ListPaths" | |||
| 42 | // GitServiceGetBlobProcedure is the fully-qualified name of the GitService's GetBlob RPC. | 44 | // GitServiceGetBlobProcedure is the fully-qualified name of the GitService's GetBlob RPC. | ||
| 43 | GitServiceGetBlobProcedure = "/ermite.GitService/GetBlob" | 45 | GitServiceGetBlobProcedure = "/ermite.GitService/GetBlob" | ||
| 44 | // GitServiceListCommitsProcedure is the fully-qualified name of the GitService's ListCommits RPC. | 46 | // GitServiceListCommitsProcedure is the fully-qualified name of the GitService's ListCommits RPC. | ||
| @@ -59,6 +61,13 @@ type GitServiceClient interface { | |||||
| 59 | // not_found if the path does not exist and invalid_argument if it is not a | 61 | // not_found if the path does not exist and invalid_argument if it is not a | ||
| 60 | // directory. | 62 | // directory. | ||
| 61 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | 63 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | ||
| 64 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |||
| 65 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |||
| 66 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |||
| 67 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |||
| 68 | + | // revision or an empty repository. Servers that have it advertise the | |||
| 69 | + | // feature "git.list_paths" in GetVersion. | |||
| 70 | + | ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) | |||
| 62 | // GetBlob streams the content of a file at a revision, in chunks of at most | 71 | // GetBlob streams the content of a file at a revision, in chunks of at most | ||
| 63 | // 64 KiB. The first message carries the metadata in info, then the chunks | 72 | // 64 KiB. The first message carries the metadata in info, then the chunks | ||
| 64 | // follow; the memory used by the server does not depend on the file size. | 73 | // follow; the memory used by the server does not depend on the file size. | ||
| @@ -99,6 +108,12 @@ func NewGitServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... | |||||
| 99 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | 108 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | ||
| 100 | connect.WithClientOptions(opts...), | 109 | connect.WithClientOptions(opts...), | ||
| 101 | ), | 110 | ), | ||
| 111 | + | listPaths: connect.NewClient[ermite.ListPathsRequest, ermite.ListPathsResponse]( | |||
| 112 | + | httpClient, | |||
| 113 | + | baseURL+GitServiceListPathsProcedure, | |||
| 114 | + | connect.WithSchema(gitServiceMethods.ByName("ListPaths")), | |||
| 115 | + | connect.WithClientOptions(opts...), | |||
| 116 | + | ), | |||
| 102 | getBlob: connect.NewClient[ermite.GetBlobRequest, ermite.GetBlobResponse]( | 117 | getBlob: connect.NewClient[ermite.GetBlobRequest, ermite.GetBlobResponse]( | ||
| 103 | httpClient, | 118 | httpClient, | ||
| 104 | baseURL+GitServiceGetBlobProcedure, | 119 | baseURL+GitServiceGetBlobProcedure, | ||
| @@ -130,6 +145,7 @@ func NewGitServiceClient(httpClient connect.HTTPClient, baseURL string, opts ... | |||||
| 130 | type gitServiceClient struct { | 145 | type gitServiceClient struct { | ||
| 131 | listRefs *connect.Client[ermite.ListRefsRequest, ermite.ListRefsResponse] | 146 | listRefs *connect.Client[ermite.ListRefsRequest, ermite.ListRefsResponse] | ||
| 132 | getTree *connect.Client[ermite.GetTreeRequest, ermite.GetTreeResponse] | 147 | getTree *connect.Client[ermite.GetTreeRequest, ermite.GetTreeResponse] | ||
| 148 | + | listPaths *connect.Client[ermite.ListPathsRequest, ermite.ListPathsResponse] | |||
| 133 | getBlob *connect.Client[ermite.GetBlobRequest, ermite.GetBlobResponse] | 149 | getBlob *connect.Client[ermite.GetBlobRequest, ermite.GetBlobResponse] | ||
| 134 | listCommits *connect.Client[ermite.ListCommitsRequest, ermite.ListCommitsResponse] | 150 | listCommits *connect.Client[ermite.ListCommitsRequest, ermite.ListCommitsResponse] | ||
| 135 | getCommit *connect.Client[ermite.GetCommitRequest, ermite.GetCommitResponse] | 151 | getCommit *connect.Client[ermite.GetCommitRequest, ermite.GetCommitResponse] | ||
| @@ -146,6 +162,11 @@ func (c *gitServiceClient) GetTree(ctx context.Context, req *connect.Request[erm | |||||
| 146 | return c.getTree.CallUnary(ctx, req) | 162 | return c.getTree.CallUnary(ctx, req) | ||
| 147 | } | 163 | } | ||
| 148 | 164 | ||||
| 165 | + | // ListPaths calls ermite.GitService.ListPaths. | |||
| 166 | + | func (c *gitServiceClient) ListPaths(ctx context.Context, req *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) { | |||
| 167 | + | return c.listPaths.CallUnary(ctx, req) | |||
| 168 | + | } | |||
| 169 | + | ||||
| 149 | // GetBlob calls ermite.GitService.GetBlob. | 170 | // GetBlob calls ermite.GitService.GetBlob. | ||
| 150 | func (c *gitServiceClient) GetBlob(ctx context.Context, req *connect.Request[ermite.GetBlobRequest]) (*connect.ServerStreamForClient[ermite.GetBlobResponse], error) { | 171 | func (c *gitServiceClient) GetBlob(ctx context.Context, req *connect.Request[ermite.GetBlobRequest]) (*connect.ServerStreamForClient[ermite.GetBlobResponse], error) { | ||
| 151 | return c.getBlob.CallServerStream(ctx, req) | 172 | return c.getBlob.CallServerStream(ctx, req) | ||
| @@ -175,6 +196,13 @@ type GitServiceHandler interface { | |||||
| 175 | // not_found if the path does not exist and invalid_argument if it is not a | 196 | // not_found if the path does not exist and invalid_argument if it is not a | ||
| 176 | // directory. | 197 | // directory. | ||
| 177 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | 198 | GetTree(context.Context, *connect.Request[ermite.GetTreeRequest]) (*connect.Response[ermite.GetTreeResponse], error) | ||
| 199 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |||
| 200 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |||
| 201 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |||
| 202 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |||
| 203 | + | // revision or an empty repository. Servers that have it advertise the | |||
| 204 | + | // feature "git.list_paths" in GetVersion. | |||
| 205 | + | ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) | |||
| 178 | // GetBlob streams the content of a file at a revision, in chunks of at most | 206 | // GetBlob streams the content of a file at a revision, in chunks of at most | ||
| 179 | // 64 KiB. The first message carries the metadata in info, then the chunks | 207 | // 64 KiB. The first message carries the metadata in info, then the chunks | ||
| 180 | // follow; the memory used by the server does not depend on the file size. | 208 | // follow; the memory used by the server does not depend on the file size. | ||
| @@ -211,6 +239,12 @@ func NewGitServiceHandler(svc GitServiceHandler, opts ...connect.HandlerOption) | |||||
| 211 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | 239 | connect.WithSchema(gitServiceMethods.ByName("GetTree")), | ||
| 212 | connect.WithHandlerOptions(opts...), | 240 | connect.WithHandlerOptions(opts...), | ||
| 213 | ) | 241 | ) | ||
| 242 | + | gitServiceListPathsHandler := connect.NewUnaryHandler( | |||
| 243 | + | GitServiceListPathsProcedure, | |||
| 244 | + | svc.ListPaths, | |||
| 245 | + | connect.WithSchema(gitServiceMethods.ByName("ListPaths")), | |||
| 246 | + | connect.WithHandlerOptions(opts...), | |||
| 247 | + | ) | |||
| 214 | gitServiceGetBlobHandler := connect.NewServerStreamHandler( | 248 | gitServiceGetBlobHandler := connect.NewServerStreamHandler( | ||
| 215 | GitServiceGetBlobProcedure, | 249 | GitServiceGetBlobProcedure, | ||
| 216 | svc.GetBlob, | 250 | svc.GetBlob, | ||
| @@ -241,6 +275,8 @@ func NewGitServiceHandler(svc GitServiceHandler, opts ...connect.HandlerOption) | |||||
| 241 | gitServiceListRefsHandler.ServeHTTP(w, r) | 275 | gitServiceListRefsHandler.ServeHTTP(w, r) | ||
| 242 | case GitServiceGetTreeProcedure: | 276 | case GitServiceGetTreeProcedure: | ||
| 243 | gitServiceGetTreeHandler.ServeHTTP(w, r) | 277 | gitServiceGetTreeHandler.ServeHTTP(w, r) | ||
| 278 | + | case GitServiceListPathsProcedure: | |||
| 279 | + | gitServiceListPathsHandler.ServeHTTP(w, r) | |||
| 244 | case GitServiceGetBlobProcedure: | 280 | case GitServiceGetBlobProcedure: | ||
| 245 | gitServiceGetBlobHandler.ServeHTTP(w, r) | 281 | gitServiceGetBlobHandler.ServeHTTP(w, r) | ||
| 246 | case GitServiceListCommitsProcedure: | 282 | case GitServiceListCommitsProcedure: | ||
| @@ -266,6 +302,10 @@ func (UnimplementedGitServiceHandler) GetTree(context.Context, *connect.Request[ | |||||
| 266 | return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetTree is not implemented")) | 302 | return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetTree is not implemented")) | ||
| 267 | } | 303 | } | ||
| 268 | 304 | ||||
| 305 | + | func (UnimplementedGitServiceHandler) ListPaths(context.Context, *connect.Request[ermite.ListPathsRequest]) (*connect.Response[ermite.ListPathsResponse], error) { | |||
| 306 | + | return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.ListPaths is not implemented")) | |||
| 307 | + | } | |||
| 308 | + | ||||
| 269 | func (UnimplementedGitServiceHandler) GetBlob(context.Context, *connect.Request[ermite.GetBlobRequest], *connect.ServerStream[ermite.GetBlobResponse]) error { | 309 | func (UnimplementedGitServiceHandler) GetBlob(context.Context, *connect.Request[ermite.GetBlobRequest], *connect.ServerStream[ermite.GetBlobResponse]) error { | ||
| 270 | return connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetBlob is not implemented")) | 310 | return connect.NewError(connect.CodeUnimplemented, errors.New("ermite.GitService.GetBlob is not implemented")) | ||
| 271 | } | 311 | } | ||
M gen/ermite/git.pb.go +226 -83
| @@ -760,6 +760,136 @@ func (x *GetTreeResponse) GetTruncated() bool { | |||
| 760 | 760 | return false | |
| 761 | 761 | } | |
| 762 | 762 | ||
| 763 | + | // ListPathsRequest selects a revision. | |
| 764 | + | type ListPathsRequest struct { | |
| 765 | + | state protoimpl.MessageState `protogen:"open.v1"` | |
| 766 | + | // Repo is the repository name. | |
| 767 | + | Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` | |
| 768 | + | // Revision is a branch, a tag or a commit id. Empty means HEAD. | |
| 769 | + | Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` | |
| 770 | + | unknownFields protoimpl.UnknownFields | |
| 771 | + | sizeCache protoimpl.SizeCache | |
| 772 | + | } | |
| 773 | + | ||
| 774 | + | func (x *ListPathsRequest) Reset() { | |
| 775 | + | *x = ListPathsRequest{} | |
| 776 | + | mi := &file_ermite_git_proto_msgTypes[6] | |
| 777 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 778 | + | ms.StoreMessageInfo(mi) | |
| 779 | + | } | |
| 780 | + | ||
| 781 | + | func (x *ListPathsRequest) String() string { | |
| 782 | + | return protoimpl.X.MessageStringOf(x) | |
| 783 | + | } | |
| 784 | + | ||
| 785 | + | func (*ListPathsRequest) ProtoMessage() {} | |
| 786 | + | ||
| 787 | + | func (x *ListPathsRequest) ProtoReflect() protoreflect.Message { | |
| 788 | + | mi := &file_ermite_git_proto_msgTypes[6] | |
| 789 | + | if x != nil { | |
| 790 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 791 | + | if ms.LoadMessageInfo() == nil { | |
| 792 | + | ms.StoreMessageInfo(mi) | |
| 793 | + | } | |
| 794 | + | return ms | |
| 795 | + | } | |
| 796 | + | return mi.MessageOf(x) | |
| 797 | + | } | |
| 798 | + | ||
| 799 | + | // Deprecated: Use ListPathsRequest.ProtoReflect.Descriptor instead. | |
| 800 | + | func (*ListPathsRequest) Descriptor() ([]byte, []int) { | |
| 801 | + | return file_ermite_git_proto_rawDescGZIP(), []int{6} | |
| 802 | + | } | |
| 803 | + | ||
| 804 | + | func (x *ListPathsRequest) GetRepo() string { | |
| 805 | + | if x != nil { | |
| 806 | + | return x.Repo | |
| 807 | + | } | |
| 808 | + | return "" | |
| 809 | + | } | |
| 810 | + | ||
| 811 | + | func (x *ListPathsRequest) GetRevision() string { | |
| 812 | + | if x != nil { | |
| 813 | + | return x.Revision | |
| 814 | + | } | |
| 815 | + | return "" | |
| 816 | + | } | |
| 817 | + | ||
| 818 | + | // ListPathsResponse lists the file paths of a revision. | |
| 819 | + | type ListPathsResponse struct { | |
| 820 | + | state protoimpl.MessageState `protogen:"open.v1"` | |
| 821 | + | // CommitId is the id of the commit the revision resolved to. | |
| 822 | + | CommitId string `protobuf:"bytes,1,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` | |
| 823 | + | // TreeId is the object id of its root tree. | |
| 824 | + | TreeId string `protobuf:"bytes,2,opt,name=tree_id,json=treeId,proto3" json:"tree_id,omitempty"` | |
| 825 | + | // Paths are the paths of the files and symbolic links, in Git tree order. A | |
| 826 | + | // response holds at most 100,000 paths and 8 MiB of path bytes (server limits | |
| 827 | + | // that may change; rely on truncated, not on the numbers). | |
| 828 | + | Paths []string `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"` | |
| 829 | + | // Truncated is true when more paths exist past the first ones returned. | |
| 830 | + | Truncated bool `protobuf:"varint,4,opt,name=truncated,proto3" json:"truncated,omitempty"` | |
| 831 | + | unknownFields protoimpl.UnknownFields | |
| 832 | + | sizeCache protoimpl.SizeCache | |
| 833 | + | } | |
| 834 | + | ||
| 835 | + | func (x *ListPathsResponse) Reset() { | |
| 836 | + | *x = ListPathsResponse{} | |
| 837 | + | mi := &file_ermite_git_proto_msgTypes[7] | |
| 838 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 839 | + | ms.StoreMessageInfo(mi) | |
| 840 | + | } | |
| 841 | + | ||
| 842 | + | func (x *ListPathsResponse) String() string { | |
| 843 | + | return protoimpl.X.MessageStringOf(x) | |
| 844 | + | } | |
| 845 | + | ||
| 846 | + | func (*ListPathsResponse) ProtoMessage() {} | |
| 847 | + | ||
| 848 | + | func (x *ListPathsResponse) ProtoReflect() protoreflect.Message { | |
| 849 | + | mi := &file_ermite_git_proto_msgTypes[7] | |
| 850 | + | if x != nil { | |
| 851 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 852 | + | if ms.LoadMessageInfo() == nil { | |
| 853 | + | ms.StoreMessageInfo(mi) | |
| 854 | + | } | |
| 855 | + | return ms | |
| 856 | + | } | |
| 857 | + | return mi.MessageOf(x) | |
| 858 | + | } | |
| 859 | + | ||
| 860 | + | // Deprecated: Use ListPathsResponse.ProtoReflect.Descriptor instead. | |
| 861 | + | func (*ListPathsResponse) Descriptor() ([]byte, []int) { | |
| 862 | + | return file_ermite_git_proto_rawDescGZIP(), []int{7} | |
| 863 | + | } | |
| 864 | + | ||
| 865 | + | func (x *ListPathsResponse) GetCommitId() string { | |
| 866 | + | if x != nil { | |
| 867 | + | return x.CommitId | |
| 868 | + | } | |
| 869 | + | return "" | |
| 870 | + | } | |
| 871 | + | ||
| 872 | + | func (x *ListPathsResponse) GetTreeId() string { | |
| 873 | + | if x != nil { | |
| 874 | + | return x.TreeId | |
| 875 | + | } | |
| 876 | + | return "" | |
| 877 | + | } | |
| 878 | + | ||
| 879 | + | func (x *ListPathsResponse) GetPaths() []string { | |
| 880 | + | if x != nil { | |
| 881 | + | return x.Paths | |
| 882 | + | } | |
| 883 | + | return nil | |
| 884 | + | } | |
| 885 | + | ||
| 886 | + | func (x *ListPathsResponse) GetTruncated() bool { | |
| 887 | + | if x != nil { | |
| 888 | + | return x.Truncated | |
| 889 | + | } | |
| 890 | + | return false | |
| 891 | + | } | |
| 892 | + | ||
| 763 | 893 | // BlobInfo describes a file. | |
| 764 | 894 | type BlobInfo struct { | |
| 765 | 895 | state protoimpl.MessageState `protogen:"open.v1"` | |
| @@ -784,7 +914,7 @@ type BlobInfo struct { | |||
| 784 | 914 | ||
| 785 | 915 | func (x *BlobInfo) Reset() { | |
| 786 | 916 | *x = BlobInfo{} | |
| 787 | - | mi := &file_ermite_git_proto_msgTypes[6] | |
| 917 | + | mi := &file_ermite_git_proto_msgTypes[8] | |
| 788 | 918 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 789 | 919 | ms.StoreMessageInfo(mi) | |
| 790 | 920 | } | |
| @@ -796,7 +926,7 @@ func (x *BlobInfo) String() string { | |||
| 796 | 926 | func (*BlobInfo) ProtoMessage() {} | |
| 797 | 927 | ||
| 798 | 928 | func (x *BlobInfo) ProtoReflect() protoreflect.Message { | |
| 799 | - | mi := &file_ermite_git_proto_msgTypes[6] | |
| 929 | + | mi := &file_ermite_git_proto_msgTypes[8] | |
| 800 | 930 | if x != nil { | |
| 801 | 931 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 802 | 932 | if ms.LoadMessageInfo() == nil { | |
| @@ -809,7 +939,7 @@ func (x *BlobInfo) ProtoReflect() protoreflect.Message { | |||
| 809 | 939 | ||
| 810 | 940 | // Deprecated: Use BlobInfo.ProtoReflect.Descriptor instead. | |
| 811 | 941 | func (*BlobInfo) Descriptor() ([]byte, []int) { | |
| 812 | - | return file_ermite_git_proto_rawDescGZIP(), []int{6} | |
| 942 | + | return file_ermite_git_proto_rawDescGZIP(), []int{8} | |
| 813 | 943 | } | |
| 814 | 944 | ||
| 815 | 945 | func (x *BlobInfo) GetId() string { | |
| @@ -869,7 +999,7 @@ type GetBlobRequest struct { | |||
| 869 | 999 | ||
| 870 | 1000 | func (x *GetBlobRequest) Reset() { | |
| 871 | 1001 | *x = GetBlobRequest{} | |
| 872 | - | mi := &file_ermite_git_proto_msgTypes[7] | |
| 1002 | + | mi := &file_ermite_git_proto_msgTypes[9] | |
| 873 | 1003 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 874 | 1004 | ms.StoreMessageInfo(mi) | |
| 875 | 1005 | } | |
| @@ -881,7 +1011,7 @@ func (x *GetBlobRequest) String() string { | |||
| 881 | 1011 | func (*GetBlobRequest) ProtoMessage() {} | |
| 882 | 1012 | ||
| 883 | 1013 | func (x *GetBlobRequest) ProtoReflect() protoreflect.Message { | |
| 884 | - | mi := &file_ermite_git_proto_msgTypes[7] | |
| 1014 | + | mi := &file_ermite_git_proto_msgTypes[9] | |
| 885 | 1015 | if x != nil { | |
| 886 | 1016 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 887 | 1017 | if ms.LoadMessageInfo() == nil { | |
| @@ -894,7 +1024,7 @@ func (x *GetBlobRequest) ProtoReflect() protoreflect.Message { | |||
| 894 | 1024 | ||
| 895 | 1025 | // Deprecated: Use GetBlobRequest.ProtoReflect.Descriptor instead. | |
| 896 | 1026 | func (*GetBlobRequest) Descriptor() ([]byte, []int) { | |
| 897 | - | return file_ermite_git_proto_rawDescGZIP(), []int{7} | |
| 1027 | + | return file_ermite_git_proto_rawDescGZIP(), []int{9} | |
| 898 | 1028 | } | |
| 899 | 1029 | ||
| 900 | 1030 | func (x *GetBlobRequest) GetRepo() string { | |
| @@ -933,7 +1063,7 @@ type GetBlobResponse struct { | |||
| 933 | 1063 | ||
| 934 | 1064 | func (x *GetBlobResponse) Reset() { | |
| 935 | 1065 | *x = GetBlobResponse{} | |
| 936 | - | mi := &file_ermite_git_proto_msgTypes[8] | |
| 1066 | + | mi := &file_ermite_git_proto_msgTypes[10] | |
| 937 | 1067 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 938 | 1068 | ms.StoreMessageInfo(mi) | |
| 939 | 1069 | } | |
| @@ -945,7 +1075,7 @@ func (x *GetBlobResponse) String() string { | |||
| 945 | 1075 | func (*GetBlobResponse) ProtoMessage() {} | |
| 946 | 1076 | ||
| 947 | 1077 | func (x *GetBlobResponse) ProtoReflect() protoreflect.Message { | |
| 948 | - | mi := &file_ermite_git_proto_msgTypes[8] | |
| 1078 | + | mi := &file_ermite_git_proto_msgTypes[10] | |
| 949 | 1079 | if x != nil { | |
| 950 | 1080 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 951 | 1081 | if ms.LoadMessageInfo() == nil { | |
| @@ -958,7 +1088,7 @@ func (x *GetBlobResponse) ProtoReflect() protoreflect.Message { | |||
| 958 | 1088 | ||
| 959 | 1089 | // Deprecated: Use GetBlobResponse.ProtoReflect.Descriptor instead. | |
| 960 | 1090 | func (*GetBlobResponse) Descriptor() ([]byte, []int) { | |
| 961 | - | return file_ermite_git_proto_rawDescGZIP(), []int{8} | |
| 1091 | + | return file_ermite_git_proto_rawDescGZIP(), []int{10} | |
| 962 | 1092 | } | |
| 963 | 1093 | ||
| 964 | 1094 | func (x *GetBlobResponse) GetInfo() *BlobInfo { | |
| @@ -998,7 +1128,7 @@ type ListCommitsRequest struct { | |||
| 998 | 1128 | ||
| 999 | 1129 | func (x *ListCommitsRequest) Reset() { | |
| 1000 | 1130 | *x = ListCommitsRequest{} | |
| 1001 | - | mi := &file_ermite_git_proto_msgTypes[9] | |
| 1131 | + | mi := &file_ermite_git_proto_msgTypes[11] | |
| 1002 | 1132 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1003 | 1133 | ms.StoreMessageInfo(mi) | |
| 1004 | 1134 | } | |
| @@ -1010,7 +1140,7 @@ func (x *ListCommitsRequest) String() string { | |||
| 1010 | 1140 | func (*ListCommitsRequest) ProtoMessage() {} | |
| 1011 | 1141 | ||
| 1012 | 1142 | func (x *ListCommitsRequest) ProtoReflect() protoreflect.Message { | |
| 1013 | - | mi := &file_ermite_git_proto_msgTypes[9] | |
| 1143 | + | mi := &file_ermite_git_proto_msgTypes[11] | |
| 1014 | 1144 | if x != nil { | |
| 1015 | 1145 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1016 | 1146 | if ms.LoadMessageInfo() == nil { | |
| @@ -1023,7 +1153,7 @@ func (x *ListCommitsRequest) ProtoReflect() protoreflect.Message { | |||
| 1023 | 1153 | ||
| 1024 | 1154 | // Deprecated: Use ListCommitsRequest.ProtoReflect.Descriptor instead. | |
| 1025 | 1155 | func (*ListCommitsRequest) Descriptor() ([]byte, []int) { | |
| 1026 | - | return file_ermite_git_proto_rawDescGZIP(), []int{9} | |
| 1156 | + | return file_ermite_git_proto_rawDescGZIP(), []int{11} | |
| 1027 | 1157 | } | |
| 1028 | 1158 | ||
| 1029 | 1159 | func (x *ListCommitsRequest) GetRepo() string { | |
| @@ -1075,7 +1205,7 @@ type ListCommitsResponse struct { | |||
| 1075 | 1205 | ||
| 1076 | 1206 | func (x *ListCommitsResponse) Reset() { | |
| 1077 | 1207 | *x = ListCommitsResponse{} | |
| 1078 | - | mi := &file_ermite_git_proto_msgTypes[10] | |
| 1208 | + | mi := &file_ermite_git_proto_msgTypes[12] | |
| 1079 | 1209 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1080 | 1210 | ms.StoreMessageInfo(mi) | |
| 1081 | 1211 | } | |
| @@ -1087,7 +1217,7 @@ func (x *ListCommitsResponse) String() string { | |||
| 1087 | 1217 | func (*ListCommitsResponse) ProtoMessage() {} | |
| 1088 | 1218 | ||
| 1089 | 1219 | func (x *ListCommitsResponse) ProtoReflect() protoreflect.Message { | |
| 1090 | - | mi := &file_ermite_git_proto_msgTypes[10] | |
| 1220 | + | mi := &file_ermite_git_proto_msgTypes[12] | |
| 1091 | 1221 | if x != nil { | |
| 1092 | 1222 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1093 | 1223 | if ms.LoadMessageInfo() == nil { | |
| @@ -1100,7 +1230,7 @@ func (x *ListCommitsResponse) ProtoReflect() protoreflect.Message { | |||
| 1100 | 1230 | ||
| 1101 | 1231 | // Deprecated: Use ListCommitsResponse.ProtoReflect.Descriptor instead. | |
| 1102 | 1232 | func (*ListCommitsResponse) Descriptor() ([]byte, []int) { | |
| 1103 | - | return file_ermite_git_proto_rawDescGZIP(), []int{10} | |
| 1233 | + | return file_ermite_git_proto_rawDescGZIP(), []int{12} | |
| 1104 | 1234 | } | |
| 1105 | 1235 | ||
| 1106 | 1236 | func (x *ListCommitsResponse) GetCommits() []*Commit { | |
| @@ -1130,7 +1260,7 @@ type GetCommitRequest struct { | |||
| 1130 | 1260 | ||
| 1131 | 1261 | func (x *GetCommitRequest) Reset() { | |
| 1132 | 1262 | *x = GetCommitRequest{} | |
| 1133 | - | mi := &file_ermite_git_proto_msgTypes[11] | |
| 1263 | + | mi := &file_ermite_git_proto_msgTypes[13] | |
| 1134 | 1264 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1135 | 1265 | ms.StoreMessageInfo(mi) | |
| 1136 | 1266 | } | |
| @@ -1142,7 +1272,7 @@ func (x *GetCommitRequest) String() string { | |||
| 1142 | 1272 | func (*GetCommitRequest) ProtoMessage() {} | |
| 1143 | 1273 | ||
| 1144 | 1274 | func (x *GetCommitRequest) ProtoReflect() protoreflect.Message { | |
| 1145 | - | mi := &file_ermite_git_proto_msgTypes[11] | |
| 1275 | + | mi := &file_ermite_git_proto_msgTypes[13] | |
| 1146 | 1276 | if x != nil { | |
| 1147 | 1277 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1148 | 1278 | if ms.LoadMessageInfo() == nil { | |
| @@ -1155,7 +1285,7 @@ func (x *GetCommitRequest) ProtoReflect() protoreflect.Message { | |||
| 1155 | 1285 | ||
| 1156 | 1286 | // Deprecated: Use GetCommitRequest.ProtoReflect.Descriptor instead. | |
| 1157 | 1287 | func (*GetCommitRequest) Descriptor() ([]byte, []int) { | |
| 1158 | - | return file_ermite_git_proto_rawDescGZIP(), []int{11} | |
| 1288 | + | return file_ermite_git_proto_rawDescGZIP(), []int{13} | |
| 1159 | 1289 | } | |
| 1160 | 1290 | ||
| 1161 | 1291 | func (x *GetCommitRequest) GetRepo() string { | |
| @@ -1190,7 +1320,7 @@ type GetCommitResponse struct { | |||
| 1190 | 1320 | ||
| 1191 | 1321 | func (x *GetCommitResponse) Reset() { | |
| 1192 | 1322 | *x = GetCommitResponse{} | |
| 1193 | - | mi := &file_ermite_git_proto_msgTypes[12] | |
| 1323 | + | mi := &file_ermite_git_proto_msgTypes[14] | |
| 1194 | 1324 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1195 | 1325 | ms.StoreMessageInfo(mi) | |
| 1196 | 1326 | } | |
| @@ -1202,7 +1332,7 @@ func (x *GetCommitResponse) String() string { | |||
| 1202 | 1332 | func (*GetCommitResponse) ProtoMessage() {} | |
| 1203 | 1333 | ||
| 1204 | 1334 | func (x *GetCommitResponse) ProtoReflect() protoreflect.Message { | |
| 1205 | - | mi := &file_ermite_git_proto_msgTypes[12] | |
| 1335 | + | mi := &file_ermite_git_proto_msgTypes[14] | |
| 1206 | 1336 | if x != nil { | |
| 1207 | 1337 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1208 | 1338 | if ms.LoadMessageInfo() == nil { | |
| @@ -1215,7 +1345,7 @@ func (x *GetCommitResponse) ProtoReflect() protoreflect.Message { | |||
| 1215 | 1345 | ||
| 1216 | 1346 | // Deprecated: Use GetCommitResponse.ProtoReflect.Descriptor instead. | |
| 1217 | 1347 | func (*GetCommitResponse) Descriptor() ([]byte, []int) { | |
| 1218 | - | return file_ermite_git_proto_rawDescGZIP(), []int{12} | |
| 1348 | + | return file_ermite_git_proto_rawDescGZIP(), []int{14} | |
| 1219 | 1349 | } | |
| 1220 | 1350 | ||
| 1221 | 1351 | func (x *GetCommitResponse) GetCommit() *Commit { | |
| @@ -1254,7 +1384,7 @@ type DiffStats struct { | |||
| 1254 | 1384 | ||
| 1255 | 1385 | func (x *DiffStats) Reset() { | |
| 1256 | 1386 | *x = DiffStats{} | |
| 1257 | - | mi := &file_ermite_git_proto_msgTypes[13] | |
| 1387 | + | mi := &file_ermite_git_proto_msgTypes[15] | |
| 1258 | 1388 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1259 | 1389 | ms.StoreMessageInfo(mi) | |
| 1260 | 1390 | } | |
| @@ -1266,7 +1396,7 @@ func (x *DiffStats) String() string { | |||
| 1266 | 1396 | func (*DiffStats) ProtoMessage() {} | |
| 1267 | 1397 | ||
| 1268 | 1398 | func (x *DiffStats) ProtoReflect() protoreflect.Message { | |
| 1269 | - | mi := &file_ermite_git_proto_msgTypes[13] | |
| 1399 | + | mi := &file_ermite_git_proto_msgTypes[15] | |
| 1270 | 1400 | if x != nil { | |
| 1271 | 1401 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1272 | 1402 | if ms.LoadMessageInfo() == nil { | |
| @@ -1279,7 +1409,7 @@ func (x *DiffStats) ProtoReflect() protoreflect.Message { | |||
| 1279 | 1409 | ||
| 1280 | 1410 | // Deprecated: Use DiffStats.ProtoReflect.Descriptor instead. | |
| 1281 | 1411 | func (*DiffStats) Descriptor() ([]byte, []int) { | |
| 1282 | - | return file_ermite_git_proto_rawDescGZIP(), []int{13} | |
| 1412 | + | return file_ermite_git_proto_rawDescGZIP(), []int{15} | |
| 1283 | 1413 | } | |
| 1284 | 1414 | ||
| 1285 | 1415 | func (x *DiffStats) GetFilesChanged() int32 { | |
| @@ -1323,7 +1453,7 @@ type Diff struct { | |||
| 1323 | 1453 | ||
| 1324 | 1454 | func (x *Diff) Reset() { | |
| 1325 | 1455 | *x = Diff{} | |
| 1326 | - | mi := &file_ermite_git_proto_msgTypes[14] | |
| 1456 | + | mi := &file_ermite_git_proto_msgTypes[16] | |
| 1327 | 1457 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1328 | 1458 | ms.StoreMessageInfo(mi) | |
| 1329 | 1459 | } | |
| @@ -1335,7 +1465,7 @@ func (x *Diff) String() string { | |||
| 1335 | 1465 | func (*Diff) ProtoMessage() {} | |
| 1336 | 1466 | ||
| 1337 | 1467 | func (x *Diff) ProtoReflect() protoreflect.Message { | |
| 1338 | - | mi := &file_ermite_git_proto_msgTypes[14] | |
| 1468 | + | mi := &file_ermite_git_proto_msgTypes[16] | |
| 1339 | 1469 | if x != nil { | |
| 1340 | 1470 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1341 | 1471 | if ms.LoadMessageInfo() == nil { | |
| @@ -1348,7 +1478,7 @@ func (x *Diff) ProtoReflect() protoreflect.Message { | |||
| 1348 | 1478 | ||
| 1349 | 1479 | // Deprecated: Use Diff.ProtoReflect.Descriptor instead. | |
| 1350 | 1480 | func (*Diff) Descriptor() ([]byte, []int) { | |
| 1351 | - | return file_ermite_git_proto_rawDescGZIP(), []int{14} | |
| 1481 | + | return file_ermite_git_proto_rawDescGZIP(), []int{16} | |
| 1352 | 1482 | } | |
| 1353 | 1483 | ||
| 1354 | 1484 | func (x *Diff) GetFiles() []*FileDiff { | |
| @@ -1404,7 +1534,7 @@ type FileDiff struct { | |||
| 1404 | 1534 | ||
| 1405 | 1535 | func (x *FileDiff) Reset() { | |
| 1406 | 1536 | *x = FileDiff{} | |
| 1407 | - | mi := &file_ermite_git_proto_msgTypes[15] | |
| 1537 | + | mi := &file_ermite_git_proto_msgTypes[17] | |
| 1408 | 1538 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1409 | 1539 | ms.StoreMessageInfo(mi) | |
| 1410 | 1540 | } | |
| @@ -1416,7 +1546,7 @@ func (x *FileDiff) String() string { | |||
| 1416 | 1546 | func (*FileDiff) ProtoMessage() {} | |
| 1417 | 1547 | ||
| 1418 | 1548 | func (x *FileDiff) ProtoReflect() protoreflect.Message { | |
| 1419 | - | mi := &file_ermite_git_proto_msgTypes[15] | |
| 1549 | + | mi := &file_ermite_git_proto_msgTypes[17] | |
| 1420 | 1550 | if x != nil { | |
| 1421 | 1551 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1422 | 1552 | if ms.LoadMessageInfo() == nil { | |
| @@ -1429,7 +1559,7 @@ func (x *FileDiff) ProtoReflect() protoreflect.Message { | |||
| 1429 | 1559 | ||
| 1430 | 1560 | // Deprecated: Use FileDiff.ProtoReflect.Descriptor instead. | |
| 1431 | 1561 | func (*FileDiff) Descriptor() ([]byte, []int) { | |
| 1432 | - | return file_ermite_git_proto_rawDescGZIP(), []int{15} | |
| 1562 | + | return file_ermite_git_proto_rawDescGZIP(), []int{17} | |
| 1433 | 1563 | } | |
| 1434 | 1564 | ||
| 1435 | 1565 | func (x *FileDiff) GetOldPath() string { | |
| @@ -1547,7 +1677,7 @@ type Hunk struct { | |||
| 1547 | 1677 | ||
| 1548 | 1678 | func (x *Hunk) Reset() { | |
| 1549 | 1679 | *x = Hunk{} | |
| 1550 | - | mi := &file_ermite_git_proto_msgTypes[16] | |
| 1680 | + | mi := &file_ermite_git_proto_msgTypes[18] | |
| 1551 | 1681 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1552 | 1682 | ms.StoreMessageInfo(mi) | |
| 1553 | 1683 | } | |
| @@ -1559,7 +1689,7 @@ func (x *Hunk) String() string { | |||
| 1559 | 1689 | func (*Hunk) ProtoMessage() {} | |
| 1560 | 1690 | ||
| 1561 | 1691 | func (x *Hunk) ProtoReflect() protoreflect.Message { | |
| 1562 | - | mi := &file_ermite_git_proto_msgTypes[16] | |
| 1692 | + | mi := &file_ermite_git_proto_msgTypes[18] | |
| 1563 | 1693 | if x != nil { | |
| 1564 | 1694 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1565 | 1695 | if ms.LoadMessageInfo() == nil { | |
| @@ -1572,7 +1702,7 @@ func (x *Hunk) ProtoReflect() protoreflect.Message { | |||
| 1572 | 1702 | ||
| 1573 | 1703 | // Deprecated: Use Hunk.ProtoReflect.Descriptor instead. | |
| 1574 | 1704 | func (*Hunk) Descriptor() ([]byte, []int) { | |
| 1575 | - | return file_ermite_git_proto_rawDescGZIP(), []int{16} | |
| 1705 | + | return file_ermite_git_proto_rawDescGZIP(), []int{18} | |
| 1576 | 1706 | } | |
| 1577 | 1707 | ||
| 1578 | 1708 | func (x *Hunk) GetOldStart() int32 { | |
| @@ -1638,7 +1768,7 @@ type Line struct { | |||
| 1638 | 1768 | ||
| 1639 | 1769 | func (x *Line) Reset() { | |
| 1640 | 1770 | *x = Line{} | |
| 1641 | - | mi := &file_ermite_git_proto_msgTypes[17] | |
| 1771 | + | mi := &file_ermite_git_proto_msgTypes[19] | |
| 1642 | 1772 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1643 | 1773 | ms.StoreMessageInfo(mi) | |
| 1644 | 1774 | } | |
| @@ -1650,7 +1780,7 @@ func (x *Line) String() string { | |||
| 1650 | 1780 | func (*Line) ProtoMessage() {} | |
| 1651 | 1781 | ||
| 1652 | 1782 | func (x *Line) ProtoReflect() protoreflect.Message { | |
| 1653 | - | mi := &file_ermite_git_proto_msgTypes[17] | |
| 1783 | + | mi := &file_ermite_git_proto_msgTypes[19] | |
| 1654 | 1784 | if x != nil { | |
| 1655 | 1785 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1656 | 1786 | if ms.LoadMessageInfo() == nil { | |
| @@ -1663,7 +1793,7 @@ func (x *Line) ProtoReflect() protoreflect.Message { | |||
| 1663 | 1793 | ||
| 1664 | 1794 | // Deprecated: Use Line.ProtoReflect.Descriptor instead. | |
| 1665 | 1795 | func (*Line) Descriptor() ([]byte, []int) { | |
| 1666 | - | return file_ermite_git_proto_rawDescGZIP(), []int{17} | |
| 1796 | + | return file_ermite_git_proto_rawDescGZIP(), []int{19} | |
| 1667 | 1797 | } | |
| 1668 | 1798 | ||
| 1669 | 1799 | func (x *Line) GetKind() LineKind { | |
| @@ -1714,7 +1844,7 @@ type ResolveRevisionRequest struct { | |||
| 1714 | 1844 | ||
| 1715 | 1845 | func (x *ResolveRevisionRequest) Reset() { | |
| 1716 | 1846 | *x = ResolveRevisionRequest{} | |
| 1717 | - | mi := &file_ermite_git_proto_msgTypes[18] | |
| 1847 | + | mi := &file_ermite_git_proto_msgTypes[20] | |
| 1718 | 1848 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1719 | 1849 | ms.StoreMessageInfo(mi) | |
| 1720 | 1850 | } | |
| @@ -1726,7 +1856,7 @@ func (x *ResolveRevisionRequest) String() string { | |||
| 1726 | 1856 | func (*ResolveRevisionRequest) ProtoMessage() {} | |
| 1727 | 1857 | ||
| 1728 | 1858 | func (x *ResolveRevisionRequest) ProtoReflect() protoreflect.Message { | |
| 1729 | - | mi := &file_ermite_git_proto_msgTypes[18] | |
| 1859 | + | mi := &file_ermite_git_proto_msgTypes[20] | |
| 1730 | 1860 | if x != nil { | |
| 1731 | 1861 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1732 | 1862 | if ms.LoadMessageInfo() == nil { | |
| @@ -1739,7 +1869,7 @@ func (x *ResolveRevisionRequest) ProtoReflect() protoreflect.Message { | |||
| 1739 | 1869 | ||
| 1740 | 1870 | // Deprecated: Use ResolveRevisionRequest.ProtoReflect.Descriptor instead. | |
| 1741 | 1871 | func (*ResolveRevisionRequest) Descriptor() ([]byte, []int) { | |
| 1742 | - | return file_ermite_git_proto_rawDescGZIP(), []int{18} | |
| 1872 | + | return file_ermite_git_proto_rawDescGZIP(), []int{20} | |
| 1743 | 1873 | } | |
| 1744 | 1874 | ||
| 1745 | 1875 | func (x *ResolveRevisionRequest) GetRepo() string { | |
| @@ -1772,7 +1902,7 @@ type ResolveRevisionResponse struct { | |||
| 1772 | 1902 | ||
| 1773 | 1903 | func (x *ResolveRevisionResponse) Reset() { | |
| 1774 | 1904 | *x = ResolveRevisionResponse{} | |
| 1775 | - | mi := &file_ermite_git_proto_msgTypes[19] | |
| 1905 | + | mi := &file_ermite_git_proto_msgTypes[21] | |
| 1776 | 1906 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1777 | 1907 | ms.StoreMessageInfo(mi) | |
| 1778 | 1908 | } | |
| @@ -1784,7 +1914,7 @@ func (x *ResolveRevisionResponse) String() string { | |||
| 1784 | 1914 | func (*ResolveRevisionResponse) ProtoMessage() {} | |
| 1785 | 1915 | ||
| 1786 | 1916 | func (x *ResolveRevisionResponse) ProtoReflect() protoreflect.Message { | |
| 1787 | - | mi := &file_ermite_git_proto_msgTypes[19] | |
| 1917 | + | mi := &file_ermite_git_proto_msgTypes[21] | |
| 1788 | 1918 | if x != nil { | |
| 1789 | 1919 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 1790 | 1920 | if ms.LoadMessageInfo() == nil { | |
| @@ -1797,7 +1927,7 @@ func (x *ResolveRevisionResponse) ProtoReflect() protoreflect.Message { | |||
| 1797 | 1927 | ||
| 1798 | 1928 | // Deprecated: Use ResolveRevisionResponse.ProtoReflect.Descriptor instead. | |
| 1799 | 1929 | func (*ResolveRevisionResponse) Descriptor() ([]byte, []int) { | |
| 1800 | - | return file_ermite_git_proto_rawDescGZIP(), []int{19} | |
| 1930 | + | return file_ermite_git_proto_rawDescGZIP(), []int{21} | |
| 1801 | 1931 | } | |
| 1802 | 1932 | ||
| 1803 | 1933 | func (x *ResolveRevisionResponse) GetCommitId() string { | |
| @@ -1854,7 +1984,15 @@ const file_ermite_git_proto_rawDesc = "" + | |||
| 1854 | 1984 | "\atree_id\x18\x02 \x01(\tR\x06treeId\x12+\n" + | |
| 1855 | 1985 | "\aentries\x18\x03 \x03(\v2\x11.ermite.TreeEntryR\aentries\x124\n" + | |
| 1856 | 1986 | "\x16last_commits_truncated\x18\x04 \x01(\bR\x14lastCommitsTruncated\x12\x1c\n" + | |
| 1857 | - | "\ttruncated\x18\x05 \x01(\bR\ttruncated\"\x8d\x01\n" + | |
| 1987 | + | "\ttruncated\x18\x05 \x01(\bR\ttruncated\"B\n" + | |
| 1988 | + | "\x10ListPathsRequest\x12\x12\n" + | |
| 1989 | + | "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x1a\n" + | |
| 1990 | + | "\brevision\x18\x02 \x01(\tR\brevision\"}\n" + | |
| 1991 | + | "\x11ListPathsResponse\x12\x1b\n" + | |
| 1992 | + | "\tcommit_id\x18\x01 \x01(\tR\bcommitId\x12\x17\n" + | |
| 1993 | + | "\atree_id\x18\x02 \x01(\tR\x06treeId\x12\x14\n" + | |
| 1994 | + | "\x05paths\x18\x03 \x03(\tR\x05paths\x12\x1c\n" + | |
| 1995 | + | "\ttruncated\x18\x04 \x01(\bR\ttruncated\"\x8d\x01\n" + | |
| 1858 | 1996 | "\bBlobInfo\x12\x0e\n" + | |
| 1859 | 1997 | "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + | |
| 1860 | 1998 | "\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" + | |
| @@ -1957,11 +2095,12 @@ const file_ermite_git_proto_rawDesc = "" + | |||
| 1957 | 2095 | "\x15LINE_KIND_UNSPECIFIED\x10\x00\x12\x15\n" + | |
| 1958 | 2096 | "\x11LINE_KIND_CONTEXT\x10\x01\x12\x16\n" + | |
| 1959 | 2097 | "\x12LINE_KIND_ADDITION\x10\x02\x12\x16\n" + | |
| 1960 | - | "\x12LINE_KIND_DELETION\x10\x032\xa3\x03\n" + | |
| 2098 | + | "\x12LINE_KIND_DELETION\x10\x032\xe5\x03\n" + | |
| 1961 | 2099 | "\n" + | |
| 1962 | 2100 | "GitService\x12=\n" + | |
| 1963 | 2101 | "\bListRefs\x12\x17.ermite.ListRefsRequest\x1a\x18.ermite.ListRefsResponse\x12:\n" + | |
| 1964 | - | "\aGetTree\x12\x16.ermite.GetTreeRequest\x1a\x17.ermite.GetTreeResponse\x12<\n" + | |
| 2102 | + | "\aGetTree\x12\x16.ermite.GetTreeRequest\x1a\x17.ermite.GetTreeResponse\x12@\n" + | |
| 2103 | + | "\tListPaths\x12\x18.ermite.ListPathsRequest\x1a\x19.ermite.ListPathsResponse\x12<\n" + | |
| 1965 | 2104 | "\aGetBlob\x12\x16.ermite.GetBlobRequest\x1a\x17.ermite.GetBlobResponse0\x01\x12F\n" + | |
| 1966 | 2105 | "\vListCommits\x12\x1a.ermite.ListCommitsRequest\x1a\x1b.ermite.ListCommitsResponse\x12@\n" + | |
| 1967 | 2106 | "\tGetCommit\x12\x18.ermite.GetCommitRequest\x1a\x19.ermite.GetCommitResponse\x12R\n" + | |
| @@ -1982,7 +2121,7 @@ func file_ermite_git_proto_rawDescGZIP() []byte { | |||
| 1982 | 2121 | } | |
| 1983 | 2122 | ||
| 1984 | 2123 | var file_ermite_git_proto_enumTypes = make([]protoimpl.EnumInfo, 4) | |
| 1985 | - | var file_ermite_git_proto_msgTypes = make([]protoimpl.MessageInfo, 20) | |
| 2124 | + | var file_ermite_git_proto_msgTypes = make([]protoimpl.MessageInfo, 22) | |
| 1986 | 2125 | var file_ermite_git_proto_goTypes = []any{ | |
| 1987 | 2126 | (RefKind)(0), // 0: ermite.RefKind | |
| 1988 | 2127 | (EntryKind)(0), // 1: ermite.EntryKind | |
| @@ -1994,53 +2133,57 @@ var file_ermite_git_proto_goTypes = []any{ | |||
| 1994 | 2133 | (*TreeEntry)(nil), // 7: ermite.TreeEntry | |
| 1995 | 2134 | (*GetTreeRequest)(nil), // 8: ermite.GetTreeRequest | |
| 1996 | 2135 | (*GetTreeResponse)(nil), // 9: ermite.GetTreeResponse | |
| 1997 | - | (*BlobInfo)(nil), // 10: ermite.BlobInfo | |
| 1998 | - | (*GetBlobRequest)(nil), // 11: ermite.GetBlobRequest | |
| 1999 | - | (*GetBlobResponse)(nil), // 12: ermite.GetBlobResponse | |
| 2000 | - | (*ListCommitsRequest)(nil), // 13: ermite.ListCommitsRequest | |
| 2001 | - | (*ListCommitsResponse)(nil), // 14: ermite.ListCommitsResponse | |
| 2002 | - | (*GetCommitRequest)(nil), // 15: ermite.GetCommitRequest | |
| 2003 | - | (*GetCommitResponse)(nil), // 16: ermite.GetCommitResponse | |
| 2004 | - | (*DiffStats)(nil), // 17: ermite.DiffStats | |
| 2005 | - | (*Diff)(nil), // 18: ermite.Diff | |
| 2006 | - | (*FileDiff)(nil), // 19: ermite.FileDiff | |
| 2007 | - | (*Hunk)(nil), // 20: ermite.Hunk | |
| 2008 | - | (*Line)(nil), // 21: ermite.Line | |
| 2009 | - | (*ResolveRevisionRequest)(nil), // 22: ermite.ResolveRevisionRequest | |
| 2010 | - | (*ResolveRevisionResponse)(nil), // 23: ermite.ResolveRevisionResponse | |
| 2011 | - | (*Commit)(nil), // 24: ermite.Commit | |
| 2136 | + | (*ListPathsRequest)(nil), // 10: ermite.ListPathsRequest | |
| 2137 | + | (*ListPathsResponse)(nil), // 11: ermite.ListPathsResponse | |
| 2138 | + | (*BlobInfo)(nil), // 12: ermite.BlobInfo | |
| 2139 | + | (*GetBlobRequest)(nil), // 13: ermite.GetBlobRequest | |
| 2140 | + | (*GetBlobResponse)(nil), // 14: ermite.GetBlobResponse | |
| 2141 | + | (*ListCommitsRequest)(nil), // 15: ermite.ListCommitsRequest | |
| 2142 | + | (*ListCommitsResponse)(nil), // 16: ermite.ListCommitsResponse | |
| 2143 | + | (*GetCommitRequest)(nil), // 17: ermite.GetCommitRequest | |
| 2144 | + | (*GetCommitResponse)(nil), // 18: ermite.GetCommitResponse | |
| 2145 | + | (*DiffStats)(nil), // 19: ermite.DiffStats | |
| 2146 | + | (*Diff)(nil), // 20: ermite.Diff | |
| 2147 | + | (*FileDiff)(nil), // 21: ermite.FileDiff | |
| 2148 | + | (*Hunk)(nil), // 22: ermite.Hunk | |
| 2149 | + | (*Line)(nil), // 23: ermite.Line | |
| 2150 | + | (*ResolveRevisionRequest)(nil), // 24: ermite.ResolveRevisionRequest | |
| 2151 | + | (*ResolveRevisionResponse)(nil), // 25: ermite.ResolveRevisionResponse | |
| 2152 | + | (*Commit)(nil), // 26: ermite.Commit | |
| 2012 | 2153 | } | |
| 2013 | 2154 | var file_ermite_git_proto_depIdxs = []int32{ | |
| 2014 | 2155 | 0, // 0: ermite.Ref.kind:type_name -> ermite.RefKind | |
| 2015 | 2156 | 0, // 1: ermite.ListRefsRequest.kinds:type_name -> ermite.RefKind | |
| 2016 | 2157 | 4, // 2: ermite.ListRefsResponse.refs:type_name -> ermite.Ref | |
| 2017 | 2158 | 1, // 3: ermite.TreeEntry.kind:type_name -> ermite.EntryKind | |
| 2018 | - | 24, // 4: ermite.TreeEntry.last_commit:type_name -> ermite.Commit | |
| 2159 | + | 26, // 4: ermite.TreeEntry.last_commit:type_name -> ermite.Commit | |
| 2019 | 2160 | 7, // 5: ermite.GetTreeResponse.entries:type_name -> ermite.TreeEntry | |
| 2020 | - | 10, // 6: ermite.GetBlobResponse.info:type_name -> ermite.BlobInfo | |
| 2021 | - | 24, // 7: ermite.ListCommitsResponse.commits:type_name -> ermite.Commit | |
| 2022 | - | 24, // 8: ermite.GetCommitResponse.commit:type_name -> ermite.Commit | |
| 2023 | - | 17, // 9: ermite.GetCommitResponse.stats:type_name -> ermite.DiffStats | |
| 2024 | - | 18, // 10: ermite.GetCommitResponse.diff:type_name -> ermite.Diff | |
| 2025 | - | 19, // 11: ermite.Diff.files:type_name -> ermite.FileDiff | |
| 2161 | + | 12, // 6: ermite.GetBlobResponse.info:type_name -> ermite.BlobInfo | |
| 2162 | + | 26, // 7: ermite.ListCommitsResponse.commits:type_name -> ermite.Commit | |
| 2163 | + | 26, // 8: ermite.GetCommitResponse.commit:type_name -> ermite.Commit | |
| 2164 | + | 19, // 9: ermite.GetCommitResponse.stats:type_name -> ermite.DiffStats | |
| 2165 | + | 20, // 10: ermite.GetCommitResponse.diff:type_name -> ermite.Diff | |
| 2166 | + | 21, // 11: ermite.Diff.files:type_name -> ermite.FileDiff | |
| 2026 | 2167 | 2, // 12: ermite.FileDiff.status:type_name -> ermite.FileStatus | |
| 2027 | - | 20, // 13: ermite.FileDiff.hunks:type_name -> ermite.Hunk | |
| 2028 | - | 21, // 14: ermite.Hunk.lines:type_name -> ermite.Line | |
| 2168 | + | 22, // 13: ermite.FileDiff.hunks:type_name -> ermite.Hunk | |
| 2169 | + | 23, // 14: ermite.Hunk.lines:type_name -> ermite.Line | |
| 2029 | 2170 | 3, // 15: ermite.Line.kind:type_name -> ermite.LineKind | |
| 2030 | 2171 | 5, // 16: ermite.GitService.ListRefs:input_type -> ermite.ListRefsRequest | |
| 2031 | 2172 | 8, // 17: ermite.GitService.GetTree:input_type -> ermite.GetTreeRequest | |
| 2032 | - | 11, // 18: ermite.GitService.GetBlob:input_type -> ermite.GetBlobRequest | |
| 2033 | - | 13, // 19: ermite.GitService.ListCommits:input_type -> ermite.ListCommitsRequest | |
| 2034 | - | 15, // 20: ermite.GitService.GetCommit:input_type -> ermite.GetCommitRequest | |
| 2035 | - | 22, // 21: ermite.GitService.ResolveRevision:input_type -> ermite.ResolveRevisionRequest | |
| 2036 | - | 6, // 22: ermite.GitService.ListRefs:output_type -> ermite.ListRefsResponse | |
| 2037 | - | 9, // 23: ermite.GitService.GetTree:output_type -> ermite.GetTreeResponse | |
| 2038 | - | 12, // 24: ermite.GitService.GetBlob:output_type -> ermite.GetBlobResponse | |
| 2039 | - | 14, // 25: ermite.GitService.ListCommits:output_type -> ermite.ListCommitsResponse | |
| 2040 | - | 16, // 26: ermite.GitService.GetCommit:output_type -> ermite.GetCommitResponse | |
| 2041 | - | 23, // 27: ermite.GitService.ResolveRevision:output_type -> ermite.ResolveRevisionResponse | |
| 2042 | - | 22, // [22:28] is the sub-list for method output_type | |
| 2043 | - | 16, // [16:22] is the sub-list for method input_type | |
| 2173 | + | 10, // 18: ermite.GitService.ListPaths:input_type -> ermite.ListPathsRequest | |
| 2174 | + | 13, // 19: ermite.GitService.GetBlob:input_type -> ermite.GetBlobRequest | |
| 2175 | + | 15, // 20: ermite.GitService.ListCommits:input_type -> ermite.ListCommitsRequest | |
| 2176 | + | 17, // 21: ermite.GitService.GetCommit:input_type -> ermite.GetCommitRequest | |
| 2177 | + | 24, // 22: ermite.GitService.ResolveRevision:input_type -> ermite.ResolveRevisionRequest | |
| 2178 | + | 6, // 23: ermite.GitService.ListRefs:output_type -> ermite.ListRefsResponse | |
| 2179 | + | 9, // 24: ermite.GitService.GetTree:output_type -> ermite.GetTreeResponse | |
| 2180 | + | 11, // 25: ermite.GitService.ListPaths:output_type -> ermite.ListPathsResponse | |
| 2181 | + | 14, // 26: ermite.GitService.GetBlob:output_type -> ermite.GetBlobResponse | |
| 2182 | + | 16, // 27: ermite.GitService.ListCommits:output_type -> ermite.ListCommitsResponse | |
| 2183 | + | 18, // 28: ermite.GitService.GetCommit:output_type -> ermite.GetCommitResponse | |
| 2184 | + | 25, // 29: ermite.GitService.ResolveRevision:output_type -> ermite.ResolveRevisionResponse | |
| 2185 | + | 23, // [23:30] is the sub-list for method output_type | |
| 2186 | + | 16, // [16:23] is the sub-list for method input_type | |
| 2044 | 2187 | 16, // [16:16] is the sub-list for extension type_name | |
| 2045 | 2188 | 16, // [16:16] is the sub-list for extension extendee | |
| 2046 | 2189 | 0, // [0:16] is the sub-list for field type_name | |
| @@ -2058,7 +2201,7 @@ func file_ermite_git_proto_init() { | |||
| 2058 | 2201 | GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | |
| 2059 | 2202 | RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_git_proto_rawDesc), len(file_ermite_git_proto_rawDesc)), | |
| 2060 | 2203 | NumEnums: 4, | |
| 2061 | - | NumMessages: 20, | |
| 2204 | + | NumMessages: 22, | |
| 2062 | 2205 | NumExtensions: 0, | |
| 2063 | 2206 | NumServices: 1, | |
| 2064 | 2207 | }, | |
| @@ -760,6 +760,136 @@ func (x *GetTreeResponse) GetTruncated() bool { | |||||
| 760 | return false | 760 | return false | ||
| 761 | } | 761 | } | ||
| 762 | 762 | ||||
| 763 | + | // ListPathsRequest selects a revision. | |||
| 764 | + | type ListPathsRequest struct { | |||
| 765 | + | state protoimpl.MessageState `protogen:"open.v1"` | |||
| 766 | + | // Repo is the repository name. | |||
| 767 | + | Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` | |||
| 768 | + | // Revision is a branch, a tag or a commit id. Empty means HEAD. | |||
| 769 | + | Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` | |||
| 770 | + | unknownFields protoimpl.UnknownFields | |||
| 771 | + | sizeCache protoimpl.SizeCache | |||
| 772 | + | } | |||
| 773 | + | ||||
| 774 | + | func (x *ListPathsRequest) Reset() { | |||
| 775 | + | *x = ListPathsRequest{} | |||
| 776 | + | mi := &file_ermite_git_proto_msgTypes[6] | |||
| 777 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |||
| 778 | + | ms.StoreMessageInfo(mi) | |||
| 779 | + | } | |||
| 780 | + | ||||
| 781 | + | func (x *ListPathsRequest) String() string { | |||
| 782 | + | return protoimpl.X.MessageStringOf(x) | |||
| 783 | + | } | |||
| 784 | + | ||||
| 785 | + | func (*ListPathsRequest) ProtoMessage() {} | |||
| 786 | + | ||||
| 787 | + | func (x *ListPathsRequest) ProtoReflect() protoreflect.Message { | |||
| 788 | + | mi := &file_ermite_git_proto_msgTypes[6] | |||
| 789 | + | if x != nil { | |||
| 790 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |||
| 791 | + | if ms.LoadMessageInfo() == nil { | |||
| 792 | + | ms.StoreMessageInfo(mi) | |||
| 793 | + | } | |||
| 794 | + | return ms | |||
| 795 | + | } | |||
| 796 | + | return mi.MessageOf(x) | |||
| 797 | + | } | |||
| 798 | + | ||||
| 799 | + | // Deprecated: Use ListPathsRequest.ProtoReflect.Descriptor instead. | |||
| 800 | + | func (*ListPathsRequest) Descriptor() ([]byte, []int) { | |||
| 801 | + | return file_ermite_git_proto_rawDescGZIP(), []int{6} | |||
| 802 | + | } | |||
| 803 | + | ||||
| 804 | + | func (x *ListPathsRequest) GetRepo() string { | |||
| 805 | + | if x != nil { | |||
| 806 | + | return x.Repo | |||
| 807 | + | } | |||
| 808 | + | return "" | |||
| 809 | + | } | |||
| 810 | + | ||||
| 811 | + | func (x *ListPathsRequest) GetRevision() string { | |||
| 812 | + | if x != nil { | |||
| 813 | + | return x.Revision | |||
| 814 | + | } | |||
| 815 | + | return "" | |||
| 816 | + | } | |||
| 817 | + | ||||
| 818 | + | // ListPathsResponse lists the file paths of a revision. | |||
| 819 | + | type ListPathsResponse struct { | |||
| 820 | + | state protoimpl.MessageState `protogen:"open.v1"` | |||
| 821 | + | // CommitId is the id of the commit the revision resolved to. | |||
| 822 | + | CommitId string `protobuf:"bytes,1,opt,name=commit_id,json=commitId,proto3" json:"commit_id,omitempty"` | |||
| 823 | + | // TreeId is the object id of its root tree. | |||
| 824 | + | TreeId string `protobuf:"bytes,2,opt,name=tree_id,json=treeId,proto3" json:"tree_id,omitempty"` | |||
| 825 | + | // Paths are the paths of the files and symbolic links, in Git tree order. A | |||
| 826 | + | // response holds at most 100,000 paths and 8 MiB of path bytes (server limits | |||
| 827 | + | // that may change; rely on truncated, not on the numbers). | |||
| 828 | + | Paths []string `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"` | |||
| 829 | + | // Truncated is true when more paths exist past the first ones returned. | |||
| 830 | + | Truncated bool `protobuf:"varint,4,opt,name=truncated,proto3" json:"truncated,omitempty"` | |||
| 831 | + | unknownFields protoimpl.UnknownFields | |||
| 832 | + | sizeCache protoimpl.SizeCache | |||
| 833 | + | } | |||
| 834 | + | ||||
| 835 | + | func (x *ListPathsResponse) Reset() { | |||
| 836 | + | *x = ListPathsResponse{} | |||
| 837 | + | mi := &file_ermite_git_proto_msgTypes[7] | |||
| 838 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |||
| 839 | + | ms.StoreMessageInfo(mi) | |||
| 840 | + | } | |||
| 841 | + | ||||
| 842 | + | func (x *ListPathsResponse) String() string { | |||
| 843 | + | return protoimpl.X.MessageStringOf(x) | |||
| 844 | + | } | |||
| 845 | + | ||||
| 846 | + | func (*ListPathsResponse) ProtoMessage() {} | |||
| 847 | + | ||||
| 848 | + | func (x *ListPathsResponse) ProtoReflect() protoreflect.Message { | |||
| 849 | + | mi := &file_ermite_git_proto_msgTypes[7] | |||
| 850 | + | if x != nil { | |||
| 851 | + | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |||
| 852 | + | if ms.LoadMessageInfo() == nil { | |||
| 853 | + | ms.StoreMessageInfo(mi) | |||
| 854 | + | } | |||
| 855 | + | return ms | |||
| 856 | + | } | |||
| 857 | + | return mi.MessageOf(x) | |||
| 858 | + | } | |||
| 859 | + | ||||
| 860 | + | // Deprecated: Use ListPathsResponse.ProtoReflect.Descriptor instead. | |||
| 861 | + | func (*ListPathsResponse) Descriptor() ([]byte, []int) { | |||
| 862 | + | return file_ermite_git_proto_rawDescGZIP(), []int{7} | |||
| 863 | + | } | |||
| 864 | + | ||||
| 865 | + | func (x *ListPathsResponse) GetCommitId() string { | |||
| 866 | + | if x != nil { | |||
| 867 | + | return x.CommitId | |||
| 868 | + | } | |||
| 869 | + | return "" | |||
| 870 | + | } | |||
| 871 | + | ||||
| 872 | + | func (x *ListPathsResponse) GetTreeId() string { | |||
| 873 | + | if x != nil { | |||
| 874 | + | return x.TreeId | |||
| 875 | + | } | |||
| 876 | + | return "" | |||
| 877 | + | } | |||
| 878 | + | ||||
| 879 | + | func (x *ListPathsResponse) GetPaths() []string { | |||
| 880 | + | if x != nil { | |||
| 881 | + | return x.Paths | |||
| 882 | + | } | |||
| 883 | + | return nil | |||
| 884 | + | } | |||
| 885 | + | ||||
| 886 | + | func (x *ListPathsResponse) GetTruncated() bool { | |||
| 887 | + | if x != nil { | |||
| 888 | + | return x.Truncated | |||
| 889 | + | } | |||
| 890 | + | return false | |||
| 891 | + | } | |||
| 892 | + | ||||
| 763 | // BlobInfo describes a file. | 893 | // BlobInfo describes a file. | ||
| 764 | type BlobInfo struct { | 894 | type BlobInfo struct { | ||
| 765 | state protoimpl.MessageState `protogen:"open.v1"` | 895 | state protoimpl.MessageState `protogen:"open.v1"` | ||
| @@ -784,7 +914,7 @@ type BlobInfo struct { | |||||
| 784 | 914 | ||||
| 785 | func (x *BlobInfo) Reset() { | 915 | func (x *BlobInfo) Reset() { | ||
| 786 | *x = BlobInfo{} | 916 | *x = BlobInfo{} | ||
| 787 | - | mi := &file_ermite_git_proto_msgTypes[6] | 917 | + | mi := &file_ermite_git_proto_msgTypes[8] |
| 788 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 918 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 789 | ms.StoreMessageInfo(mi) | 919 | ms.StoreMessageInfo(mi) | ||
| 790 | } | 920 | } | ||
| @@ -796,7 +926,7 @@ func (x *BlobInfo) String() string { | |||||
| 796 | func (*BlobInfo) ProtoMessage() {} | 926 | func (*BlobInfo) ProtoMessage() {} | ||
| 797 | 927 | ||||
| 798 | func (x *BlobInfo) ProtoReflect() protoreflect.Message { | 928 | func (x *BlobInfo) ProtoReflect() protoreflect.Message { | ||
| 799 | - | mi := &file_ermite_git_proto_msgTypes[6] | 929 | + | mi := &file_ermite_git_proto_msgTypes[8] |
| 800 | if x != nil { | 930 | if x != nil { | ||
| 801 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 931 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 802 | if ms.LoadMessageInfo() == nil { | 932 | if ms.LoadMessageInfo() == nil { | ||
| @@ -809,7 +939,7 @@ func (x *BlobInfo) ProtoReflect() protoreflect.Message { | |||||
| 809 | 939 | ||||
| 810 | // Deprecated: Use BlobInfo.ProtoReflect.Descriptor instead. | 940 | // Deprecated: Use BlobInfo.ProtoReflect.Descriptor instead. | ||
| 811 | func (*BlobInfo) Descriptor() ([]byte, []int) { | 941 | func (*BlobInfo) Descriptor() ([]byte, []int) { | ||
| 812 | - | return file_ermite_git_proto_rawDescGZIP(), []int{6} | 942 | + | return file_ermite_git_proto_rawDescGZIP(), []int{8} |
| 813 | } | 943 | } | ||
| 814 | 944 | ||||
| 815 | func (x *BlobInfo) GetId() string { | 945 | func (x *BlobInfo) GetId() string { | ||
| @@ -869,7 +999,7 @@ type GetBlobRequest struct { | |||||
| 869 | 999 | ||||
| 870 | func (x *GetBlobRequest) Reset() { | 1000 | func (x *GetBlobRequest) Reset() { | ||
| 871 | *x = GetBlobRequest{} | 1001 | *x = GetBlobRequest{} | ||
| 872 | - | mi := &file_ermite_git_proto_msgTypes[7] | 1002 | + | mi := &file_ermite_git_proto_msgTypes[9] |
| 873 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1003 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 874 | ms.StoreMessageInfo(mi) | 1004 | ms.StoreMessageInfo(mi) | ||
| 875 | } | 1005 | } | ||
| @@ -881,7 +1011,7 @@ func (x *GetBlobRequest) String() string { | |||||
| 881 | func (*GetBlobRequest) ProtoMessage() {} | 1011 | func (*GetBlobRequest) ProtoMessage() {} | ||
| 882 | 1012 | ||||
| 883 | func (x *GetBlobRequest) ProtoReflect() protoreflect.Message { | 1013 | func (x *GetBlobRequest) ProtoReflect() protoreflect.Message { | ||
| 884 | - | mi := &file_ermite_git_proto_msgTypes[7] | 1014 | + | mi := &file_ermite_git_proto_msgTypes[9] |
| 885 | if x != nil { | 1015 | if x != nil { | ||
| 886 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1016 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 887 | if ms.LoadMessageInfo() == nil { | 1017 | if ms.LoadMessageInfo() == nil { | ||
| @@ -894,7 +1024,7 @@ func (x *GetBlobRequest) ProtoReflect() protoreflect.Message { | |||||
| 894 | 1024 | ||||
| 895 | // Deprecated: Use GetBlobRequest.ProtoReflect.Descriptor instead. | 1025 | // Deprecated: Use GetBlobRequest.ProtoReflect.Descriptor instead. | ||
| 896 | func (*GetBlobRequest) Descriptor() ([]byte, []int) { | 1026 | func (*GetBlobRequest) Descriptor() ([]byte, []int) { | ||
| 897 | - | return file_ermite_git_proto_rawDescGZIP(), []int{7} | 1027 | + | return file_ermite_git_proto_rawDescGZIP(), []int{9} |
| 898 | } | 1028 | } | ||
| 899 | 1029 | ||||
| 900 | func (x *GetBlobRequest) GetRepo() string { | 1030 | func (x *GetBlobRequest) GetRepo() string { | ||
| @@ -933,7 +1063,7 @@ type GetBlobResponse struct { | |||||
| 933 | 1063 | ||||
| 934 | func (x *GetBlobResponse) Reset() { | 1064 | func (x *GetBlobResponse) Reset() { | ||
| 935 | *x = GetBlobResponse{} | 1065 | *x = GetBlobResponse{} | ||
| 936 | - | mi := &file_ermite_git_proto_msgTypes[8] | 1066 | + | mi := &file_ermite_git_proto_msgTypes[10] |
| 937 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1067 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 938 | ms.StoreMessageInfo(mi) | 1068 | ms.StoreMessageInfo(mi) | ||
| 939 | } | 1069 | } | ||
| @@ -945,7 +1075,7 @@ func (x *GetBlobResponse) String() string { | |||||
| 945 | func (*GetBlobResponse) ProtoMessage() {} | 1075 | func (*GetBlobResponse) ProtoMessage() {} | ||
| 946 | 1076 | ||||
| 947 | func (x *GetBlobResponse) ProtoReflect() protoreflect.Message { | 1077 | func (x *GetBlobResponse) ProtoReflect() protoreflect.Message { | ||
| 948 | - | mi := &file_ermite_git_proto_msgTypes[8] | 1078 | + | mi := &file_ermite_git_proto_msgTypes[10] |
| 949 | if x != nil { | 1079 | if x != nil { | ||
| 950 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1080 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 951 | if ms.LoadMessageInfo() == nil { | 1081 | if ms.LoadMessageInfo() == nil { | ||
| @@ -958,7 +1088,7 @@ func (x *GetBlobResponse) ProtoReflect() protoreflect.Message { | |||||
| 958 | 1088 | ||||
| 959 | // Deprecated: Use GetBlobResponse.ProtoReflect.Descriptor instead. | 1089 | // Deprecated: Use GetBlobResponse.ProtoReflect.Descriptor instead. | ||
| 960 | func (*GetBlobResponse) Descriptor() ([]byte, []int) { | 1090 | func (*GetBlobResponse) Descriptor() ([]byte, []int) { | ||
| 961 | - | return file_ermite_git_proto_rawDescGZIP(), []int{8} | 1091 | + | return file_ermite_git_proto_rawDescGZIP(), []int{10} |
| 962 | } | 1092 | } | ||
| 963 | 1093 | ||||
| 964 | func (x *GetBlobResponse) GetInfo() *BlobInfo { | 1094 | func (x *GetBlobResponse) GetInfo() *BlobInfo { | ||
| @@ -998,7 +1128,7 @@ type ListCommitsRequest struct { | |||||
| 998 | 1128 | ||||
| 999 | func (x *ListCommitsRequest) Reset() { | 1129 | func (x *ListCommitsRequest) Reset() { | ||
| 1000 | *x = ListCommitsRequest{} | 1130 | *x = ListCommitsRequest{} | ||
| 1001 | - | mi := &file_ermite_git_proto_msgTypes[9] | 1131 | + | mi := &file_ermite_git_proto_msgTypes[11] |
| 1002 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1132 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1003 | ms.StoreMessageInfo(mi) | 1133 | ms.StoreMessageInfo(mi) | ||
| 1004 | } | 1134 | } | ||
| @@ -1010,7 +1140,7 @@ func (x *ListCommitsRequest) String() string { | |||||
| 1010 | func (*ListCommitsRequest) ProtoMessage() {} | 1140 | func (*ListCommitsRequest) ProtoMessage() {} | ||
| 1011 | 1141 | ||||
| 1012 | func (x *ListCommitsRequest) ProtoReflect() protoreflect.Message { | 1142 | func (x *ListCommitsRequest) ProtoReflect() protoreflect.Message { | ||
| 1013 | - | mi := &file_ermite_git_proto_msgTypes[9] | 1143 | + | mi := &file_ermite_git_proto_msgTypes[11] |
| 1014 | if x != nil { | 1144 | if x != nil { | ||
| 1015 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1145 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1016 | if ms.LoadMessageInfo() == nil { | 1146 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1023,7 +1153,7 @@ func (x *ListCommitsRequest) ProtoReflect() protoreflect.Message { | |||||
| 1023 | 1153 | ||||
| 1024 | // Deprecated: Use ListCommitsRequest.ProtoReflect.Descriptor instead. | 1154 | // Deprecated: Use ListCommitsRequest.ProtoReflect.Descriptor instead. | ||
| 1025 | func (*ListCommitsRequest) Descriptor() ([]byte, []int) { | 1155 | func (*ListCommitsRequest) Descriptor() ([]byte, []int) { | ||
| 1026 | - | return file_ermite_git_proto_rawDescGZIP(), []int{9} | 1156 | + | return file_ermite_git_proto_rawDescGZIP(), []int{11} |
| 1027 | } | 1157 | } | ||
| 1028 | 1158 | ||||
| 1029 | func (x *ListCommitsRequest) GetRepo() string { | 1159 | func (x *ListCommitsRequest) GetRepo() string { | ||
| @@ -1075,7 +1205,7 @@ type ListCommitsResponse struct { | |||||
| 1075 | 1205 | ||||
| 1076 | func (x *ListCommitsResponse) Reset() { | 1206 | func (x *ListCommitsResponse) Reset() { | ||
| 1077 | *x = ListCommitsResponse{} | 1207 | *x = ListCommitsResponse{} | ||
| 1078 | - | mi := &file_ermite_git_proto_msgTypes[10] | 1208 | + | mi := &file_ermite_git_proto_msgTypes[12] |
| 1079 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1209 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1080 | ms.StoreMessageInfo(mi) | 1210 | ms.StoreMessageInfo(mi) | ||
| 1081 | } | 1211 | } | ||
| @@ -1087,7 +1217,7 @@ func (x *ListCommitsResponse) String() string { | |||||
| 1087 | func (*ListCommitsResponse) ProtoMessage() {} | 1217 | func (*ListCommitsResponse) ProtoMessage() {} | ||
| 1088 | 1218 | ||||
| 1089 | func (x *ListCommitsResponse) ProtoReflect() protoreflect.Message { | 1219 | func (x *ListCommitsResponse) ProtoReflect() protoreflect.Message { | ||
| 1090 | - | mi := &file_ermite_git_proto_msgTypes[10] | 1220 | + | mi := &file_ermite_git_proto_msgTypes[12] |
| 1091 | if x != nil { | 1221 | if x != nil { | ||
| 1092 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1222 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1093 | if ms.LoadMessageInfo() == nil { | 1223 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1100,7 +1230,7 @@ func (x *ListCommitsResponse) ProtoReflect() protoreflect.Message { | |||||
| 1100 | 1230 | ||||
| 1101 | // Deprecated: Use ListCommitsResponse.ProtoReflect.Descriptor instead. | 1231 | // Deprecated: Use ListCommitsResponse.ProtoReflect.Descriptor instead. | ||
| 1102 | func (*ListCommitsResponse) Descriptor() ([]byte, []int) { | 1232 | func (*ListCommitsResponse) Descriptor() ([]byte, []int) { | ||
| 1103 | - | return file_ermite_git_proto_rawDescGZIP(), []int{10} | 1233 | + | return file_ermite_git_proto_rawDescGZIP(), []int{12} |
| 1104 | } | 1234 | } | ||
| 1105 | 1235 | ||||
| 1106 | func (x *ListCommitsResponse) GetCommits() []*Commit { | 1236 | func (x *ListCommitsResponse) GetCommits() []*Commit { | ||
| @@ -1130,7 +1260,7 @@ type GetCommitRequest struct { | |||||
| 1130 | 1260 | ||||
| 1131 | func (x *GetCommitRequest) Reset() { | 1261 | func (x *GetCommitRequest) Reset() { | ||
| 1132 | *x = GetCommitRequest{} | 1262 | *x = GetCommitRequest{} | ||
| 1133 | - | mi := &file_ermite_git_proto_msgTypes[11] | 1263 | + | mi := &file_ermite_git_proto_msgTypes[13] |
| 1134 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1264 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1135 | ms.StoreMessageInfo(mi) | 1265 | ms.StoreMessageInfo(mi) | ||
| 1136 | } | 1266 | } | ||
| @@ -1142,7 +1272,7 @@ func (x *GetCommitRequest) String() string { | |||||
| 1142 | func (*GetCommitRequest) ProtoMessage() {} | 1272 | func (*GetCommitRequest) ProtoMessage() {} | ||
| 1143 | 1273 | ||||
| 1144 | func (x *GetCommitRequest) ProtoReflect() protoreflect.Message { | 1274 | func (x *GetCommitRequest) ProtoReflect() protoreflect.Message { | ||
| 1145 | - | mi := &file_ermite_git_proto_msgTypes[11] | 1275 | + | mi := &file_ermite_git_proto_msgTypes[13] |
| 1146 | if x != nil { | 1276 | if x != nil { | ||
| 1147 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1277 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1148 | if ms.LoadMessageInfo() == nil { | 1278 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1155,7 +1285,7 @@ func (x *GetCommitRequest) ProtoReflect() protoreflect.Message { | |||||
| 1155 | 1285 | ||||
| 1156 | // Deprecated: Use GetCommitRequest.ProtoReflect.Descriptor instead. | 1286 | // Deprecated: Use GetCommitRequest.ProtoReflect.Descriptor instead. | ||
| 1157 | func (*GetCommitRequest) Descriptor() ([]byte, []int) { | 1287 | func (*GetCommitRequest) Descriptor() ([]byte, []int) { | ||
| 1158 | - | return file_ermite_git_proto_rawDescGZIP(), []int{11} | 1288 | + | return file_ermite_git_proto_rawDescGZIP(), []int{13} |
| 1159 | } | 1289 | } | ||
| 1160 | 1290 | ||||
| 1161 | func (x *GetCommitRequest) GetRepo() string { | 1291 | func (x *GetCommitRequest) GetRepo() string { | ||
| @@ -1190,7 +1320,7 @@ type GetCommitResponse struct { | |||||
| 1190 | 1320 | ||||
| 1191 | func (x *GetCommitResponse) Reset() { | 1321 | func (x *GetCommitResponse) Reset() { | ||
| 1192 | *x = GetCommitResponse{} | 1322 | *x = GetCommitResponse{} | ||
| 1193 | - | mi := &file_ermite_git_proto_msgTypes[12] | 1323 | + | mi := &file_ermite_git_proto_msgTypes[14] |
| 1194 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1324 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1195 | ms.StoreMessageInfo(mi) | 1325 | ms.StoreMessageInfo(mi) | ||
| 1196 | } | 1326 | } | ||
| @@ -1202,7 +1332,7 @@ func (x *GetCommitResponse) String() string { | |||||
| 1202 | func (*GetCommitResponse) ProtoMessage() {} | 1332 | func (*GetCommitResponse) ProtoMessage() {} | ||
| 1203 | 1333 | ||||
| 1204 | func (x *GetCommitResponse) ProtoReflect() protoreflect.Message { | 1334 | func (x *GetCommitResponse) ProtoReflect() protoreflect.Message { | ||
| 1205 | - | mi := &file_ermite_git_proto_msgTypes[12] | 1335 | + | mi := &file_ermite_git_proto_msgTypes[14] |
| 1206 | if x != nil { | 1336 | if x != nil { | ||
| 1207 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1337 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1208 | if ms.LoadMessageInfo() == nil { | 1338 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1215,7 +1345,7 @@ func (x *GetCommitResponse) ProtoReflect() protoreflect.Message { | |||||
| 1215 | 1345 | ||||
| 1216 | // Deprecated: Use GetCommitResponse.ProtoReflect.Descriptor instead. | 1346 | // Deprecated: Use GetCommitResponse.ProtoReflect.Descriptor instead. | ||
| 1217 | func (*GetCommitResponse) Descriptor() ([]byte, []int) { | 1347 | func (*GetCommitResponse) Descriptor() ([]byte, []int) { | ||
| 1218 | - | return file_ermite_git_proto_rawDescGZIP(), []int{12} | 1348 | + | return file_ermite_git_proto_rawDescGZIP(), []int{14} |
| 1219 | } | 1349 | } | ||
| 1220 | 1350 | ||||
| 1221 | func (x *GetCommitResponse) GetCommit() *Commit { | 1351 | func (x *GetCommitResponse) GetCommit() *Commit { | ||
| @@ -1254,7 +1384,7 @@ type DiffStats struct { | |||||
| 1254 | 1384 | ||||
| 1255 | func (x *DiffStats) Reset() { | 1385 | func (x *DiffStats) Reset() { | ||
| 1256 | *x = DiffStats{} | 1386 | *x = DiffStats{} | ||
| 1257 | - | mi := &file_ermite_git_proto_msgTypes[13] | 1387 | + | mi := &file_ermite_git_proto_msgTypes[15] |
| 1258 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1388 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1259 | ms.StoreMessageInfo(mi) | 1389 | ms.StoreMessageInfo(mi) | ||
| 1260 | } | 1390 | } | ||
| @@ -1266,7 +1396,7 @@ func (x *DiffStats) String() string { | |||||
| 1266 | func (*DiffStats) ProtoMessage() {} | 1396 | func (*DiffStats) ProtoMessage() {} | ||
| 1267 | 1397 | ||||
| 1268 | func (x *DiffStats) ProtoReflect() protoreflect.Message { | 1398 | func (x *DiffStats) ProtoReflect() protoreflect.Message { | ||
| 1269 | - | mi := &file_ermite_git_proto_msgTypes[13] | 1399 | + | mi := &file_ermite_git_proto_msgTypes[15] |
| 1270 | if x != nil { | 1400 | if x != nil { | ||
| 1271 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1401 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1272 | if ms.LoadMessageInfo() == nil { | 1402 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1279,7 +1409,7 @@ func (x *DiffStats) ProtoReflect() protoreflect.Message { | |||||
| 1279 | 1409 | ||||
| 1280 | // Deprecated: Use DiffStats.ProtoReflect.Descriptor instead. | 1410 | // Deprecated: Use DiffStats.ProtoReflect.Descriptor instead. | ||
| 1281 | func (*DiffStats) Descriptor() ([]byte, []int) { | 1411 | func (*DiffStats) Descriptor() ([]byte, []int) { | ||
| 1282 | - | return file_ermite_git_proto_rawDescGZIP(), []int{13} | 1412 | + | return file_ermite_git_proto_rawDescGZIP(), []int{15} |
| 1283 | } | 1413 | } | ||
| 1284 | 1414 | ||||
| 1285 | func (x *DiffStats) GetFilesChanged() int32 { | 1415 | func (x *DiffStats) GetFilesChanged() int32 { | ||
| @@ -1323,7 +1453,7 @@ type Diff struct { | |||||
| 1323 | 1453 | ||||
| 1324 | func (x *Diff) Reset() { | 1454 | func (x *Diff) Reset() { | ||
| 1325 | *x = Diff{} | 1455 | *x = Diff{} | ||
| 1326 | - | mi := &file_ermite_git_proto_msgTypes[14] | 1456 | + | mi := &file_ermite_git_proto_msgTypes[16] |
| 1327 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1457 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1328 | ms.StoreMessageInfo(mi) | 1458 | ms.StoreMessageInfo(mi) | ||
| 1329 | } | 1459 | } | ||
| @@ -1335,7 +1465,7 @@ func (x *Diff) String() string { | |||||
| 1335 | func (*Diff) ProtoMessage() {} | 1465 | func (*Diff) ProtoMessage() {} | ||
| 1336 | 1466 | ||||
| 1337 | func (x *Diff) ProtoReflect() protoreflect.Message { | 1467 | func (x *Diff) ProtoReflect() protoreflect.Message { | ||
| 1338 | - | mi := &file_ermite_git_proto_msgTypes[14] | 1468 | + | mi := &file_ermite_git_proto_msgTypes[16] |
| 1339 | if x != nil { | 1469 | if x != nil { | ||
| 1340 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1470 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1341 | if ms.LoadMessageInfo() == nil { | 1471 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1348,7 +1478,7 @@ func (x *Diff) ProtoReflect() protoreflect.Message { | |||||
| 1348 | 1478 | ||||
| 1349 | // Deprecated: Use Diff.ProtoReflect.Descriptor instead. | 1479 | // Deprecated: Use Diff.ProtoReflect.Descriptor instead. | ||
| 1350 | func (*Diff) Descriptor() ([]byte, []int) { | 1480 | func (*Diff) Descriptor() ([]byte, []int) { | ||
| 1351 | - | return file_ermite_git_proto_rawDescGZIP(), []int{14} | 1481 | + | return file_ermite_git_proto_rawDescGZIP(), []int{16} |
| 1352 | } | 1482 | } | ||
| 1353 | 1483 | ||||
| 1354 | func (x *Diff) GetFiles() []*FileDiff { | 1484 | func (x *Diff) GetFiles() []*FileDiff { | ||
| @@ -1404,7 +1534,7 @@ type FileDiff struct { | |||||
| 1404 | 1534 | ||||
| 1405 | func (x *FileDiff) Reset() { | 1535 | func (x *FileDiff) Reset() { | ||
| 1406 | *x = FileDiff{} | 1536 | *x = FileDiff{} | ||
| 1407 | - | mi := &file_ermite_git_proto_msgTypes[15] | 1537 | + | mi := &file_ermite_git_proto_msgTypes[17] |
| 1408 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1538 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1409 | ms.StoreMessageInfo(mi) | 1539 | ms.StoreMessageInfo(mi) | ||
| 1410 | } | 1540 | } | ||
| @@ -1416,7 +1546,7 @@ func (x *FileDiff) String() string { | |||||
| 1416 | func (*FileDiff) ProtoMessage() {} | 1546 | func (*FileDiff) ProtoMessage() {} | ||
| 1417 | 1547 | ||||
| 1418 | func (x *FileDiff) ProtoReflect() protoreflect.Message { | 1548 | func (x *FileDiff) ProtoReflect() protoreflect.Message { | ||
| 1419 | - | mi := &file_ermite_git_proto_msgTypes[15] | 1549 | + | mi := &file_ermite_git_proto_msgTypes[17] |
| 1420 | if x != nil { | 1550 | if x != nil { | ||
| 1421 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1551 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1422 | if ms.LoadMessageInfo() == nil { | 1552 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1429,7 +1559,7 @@ func (x *FileDiff) ProtoReflect() protoreflect.Message { | |||||
| 1429 | 1559 | ||||
| 1430 | // Deprecated: Use FileDiff.ProtoReflect.Descriptor instead. | 1560 | // Deprecated: Use FileDiff.ProtoReflect.Descriptor instead. | ||
| 1431 | func (*FileDiff) Descriptor() ([]byte, []int) { | 1561 | func (*FileDiff) Descriptor() ([]byte, []int) { | ||
| 1432 | - | return file_ermite_git_proto_rawDescGZIP(), []int{15} | 1562 | + | return file_ermite_git_proto_rawDescGZIP(), []int{17} |
| 1433 | } | 1563 | } | ||
| 1434 | 1564 | ||||
| 1435 | func (x *FileDiff) GetOldPath() string { | 1565 | func (x *FileDiff) GetOldPath() string { | ||
| @@ -1547,7 +1677,7 @@ type Hunk struct { | |||||
| 1547 | 1677 | ||||
| 1548 | func (x *Hunk) Reset() { | 1678 | func (x *Hunk) Reset() { | ||
| 1549 | *x = Hunk{} | 1679 | *x = Hunk{} | ||
| 1550 | - | mi := &file_ermite_git_proto_msgTypes[16] | 1680 | + | mi := &file_ermite_git_proto_msgTypes[18] |
| 1551 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1681 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1552 | ms.StoreMessageInfo(mi) | 1682 | ms.StoreMessageInfo(mi) | ||
| 1553 | } | 1683 | } | ||
| @@ -1559,7 +1689,7 @@ func (x *Hunk) String() string { | |||||
| 1559 | func (*Hunk) ProtoMessage() {} | 1689 | func (*Hunk) ProtoMessage() {} | ||
| 1560 | 1690 | ||||
| 1561 | func (x *Hunk) ProtoReflect() protoreflect.Message { | 1691 | func (x *Hunk) ProtoReflect() protoreflect.Message { | ||
| 1562 | - | mi := &file_ermite_git_proto_msgTypes[16] | 1692 | + | mi := &file_ermite_git_proto_msgTypes[18] |
| 1563 | if x != nil { | 1693 | if x != nil { | ||
| 1564 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1694 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1565 | if ms.LoadMessageInfo() == nil { | 1695 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1572,7 +1702,7 @@ func (x *Hunk) ProtoReflect() protoreflect.Message { | |||||
| 1572 | 1702 | ||||
| 1573 | // Deprecated: Use Hunk.ProtoReflect.Descriptor instead. | 1703 | // Deprecated: Use Hunk.ProtoReflect.Descriptor instead. | ||
| 1574 | func (*Hunk) Descriptor() ([]byte, []int) { | 1704 | func (*Hunk) Descriptor() ([]byte, []int) { | ||
| 1575 | - | return file_ermite_git_proto_rawDescGZIP(), []int{16} | 1705 | + | return file_ermite_git_proto_rawDescGZIP(), []int{18} |
| 1576 | } | 1706 | } | ||
| 1577 | 1707 | ||||
| 1578 | func (x *Hunk) GetOldStart() int32 { | 1708 | func (x *Hunk) GetOldStart() int32 { | ||
| @@ -1638,7 +1768,7 @@ type Line struct { | |||||
| 1638 | 1768 | ||||
| 1639 | func (x *Line) Reset() { | 1769 | func (x *Line) Reset() { | ||
| 1640 | *x = Line{} | 1770 | *x = Line{} | ||
| 1641 | - | mi := &file_ermite_git_proto_msgTypes[17] | 1771 | + | mi := &file_ermite_git_proto_msgTypes[19] |
| 1642 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1772 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1643 | ms.StoreMessageInfo(mi) | 1773 | ms.StoreMessageInfo(mi) | ||
| 1644 | } | 1774 | } | ||
| @@ -1650,7 +1780,7 @@ func (x *Line) String() string { | |||||
| 1650 | func (*Line) ProtoMessage() {} | 1780 | func (*Line) ProtoMessage() {} | ||
| 1651 | 1781 | ||||
| 1652 | func (x *Line) ProtoReflect() protoreflect.Message { | 1782 | func (x *Line) ProtoReflect() protoreflect.Message { | ||
| 1653 | - | mi := &file_ermite_git_proto_msgTypes[17] | 1783 | + | mi := &file_ermite_git_proto_msgTypes[19] |
| 1654 | if x != nil { | 1784 | if x != nil { | ||
| 1655 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1785 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1656 | if ms.LoadMessageInfo() == nil { | 1786 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1663,7 +1793,7 @@ func (x *Line) ProtoReflect() protoreflect.Message { | |||||
| 1663 | 1793 | ||||
| 1664 | // Deprecated: Use Line.ProtoReflect.Descriptor instead. | 1794 | // Deprecated: Use Line.ProtoReflect.Descriptor instead. | ||
| 1665 | func (*Line) Descriptor() ([]byte, []int) { | 1795 | func (*Line) Descriptor() ([]byte, []int) { | ||
| 1666 | - | return file_ermite_git_proto_rawDescGZIP(), []int{17} | 1796 | + | return file_ermite_git_proto_rawDescGZIP(), []int{19} |
| 1667 | } | 1797 | } | ||
| 1668 | 1798 | ||||
| 1669 | func (x *Line) GetKind() LineKind { | 1799 | func (x *Line) GetKind() LineKind { | ||
| @@ -1714,7 +1844,7 @@ type ResolveRevisionRequest struct { | |||||
| 1714 | 1844 | ||||
| 1715 | func (x *ResolveRevisionRequest) Reset() { | 1845 | func (x *ResolveRevisionRequest) Reset() { | ||
| 1716 | *x = ResolveRevisionRequest{} | 1846 | *x = ResolveRevisionRequest{} | ||
| 1717 | - | mi := &file_ermite_git_proto_msgTypes[18] | 1847 | + | mi := &file_ermite_git_proto_msgTypes[20] |
| 1718 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1848 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1719 | ms.StoreMessageInfo(mi) | 1849 | ms.StoreMessageInfo(mi) | ||
| 1720 | } | 1850 | } | ||
| @@ -1726,7 +1856,7 @@ func (x *ResolveRevisionRequest) String() string { | |||||
| 1726 | func (*ResolveRevisionRequest) ProtoMessage() {} | 1856 | func (*ResolveRevisionRequest) ProtoMessage() {} | ||
| 1727 | 1857 | ||||
| 1728 | func (x *ResolveRevisionRequest) ProtoReflect() protoreflect.Message { | 1858 | func (x *ResolveRevisionRequest) ProtoReflect() protoreflect.Message { | ||
| 1729 | - | mi := &file_ermite_git_proto_msgTypes[18] | 1859 | + | mi := &file_ermite_git_proto_msgTypes[20] |
| 1730 | if x != nil { | 1860 | if x != nil { | ||
| 1731 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1861 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1732 | if ms.LoadMessageInfo() == nil { | 1862 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1739,7 +1869,7 @@ func (x *ResolveRevisionRequest) ProtoReflect() protoreflect.Message { | |||||
| 1739 | 1869 | ||||
| 1740 | // Deprecated: Use ResolveRevisionRequest.ProtoReflect.Descriptor instead. | 1870 | // Deprecated: Use ResolveRevisionRequest.ProtoReflect.Descriptor instead. | ||
| 1741 | func (*ResolveRevisionRequest) Descriptor() ([]byte, []int) { | 1871 | func (*ResolveRevisionRequest) Descriptor() ([]byte, []int) { | ||
| 1742 | - | return file_ermite_git_proto_rawDescGZIP(), []int{18} | 1872 | + | return file_ermite_git_proto_rawDescGZIP(), []int{20} |
| 1743 | } | 1873 | } | ||
| 1744 | 1874 | ||||
| 1745 | func (x *ResolveRevisionRequest) GetRepo() string { | 1875 | func (x *ResolveRevisionRequest) GetRepo() string { | ||
| @@ -1772,7 +1902,7 @@ type ResolveRevisionResponse struct { | |||||
| 1772 | 1902 | ||||
| 1773 | func (x *ResolveRevisionResponse) Reset() { | 1903 | func (x *ResolveRevisionResponse) Reset() { | ||
| 1774 | *x = ResolveRevisionResponse{} | 1904 | *x = ResolveRevisionResponse{} | ||
| 1775 | - | mi := &file_ermite_git_proto_msgTypes[19] | 1905 | + | mi := &file_ermite_git_proto_msgTypes[21] |
| 1776 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1906 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1777 | ms.StoreMessageInfo(mi) | 1907 | ms.StoreMessageInfo(mi) | ||
| 1778 | } | 1908 | } | ||
| @@ -1784,7 +1914,7 @@ func (x *ResolveRevisionResponse) String() string { | |||||
| 1784 | func (*ResolveRevisionResponse) ProtoMessage() {} | 1914 | func (*ResolveRevisionResponse) ProtoMessage() {} | ||
| 1785 | 1915 | ||||
| 1786 | func (x *ResolveRevisionResponse) ProtoReflect() protoreflect.Message { | 1916 | func (x *ResolveRevisionResponse) ProtoReflect() protoreflect.Message { | ||
| 1787 | - | mi := &file_ermite_git_proto_msgTypes[19] | 1917 | + | mi := &file_ermite_git_proto_msgTypes[21] |
| 1788 | if x != nil { | 1918 | if x != nil { | ||
| 1789 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 1919 | ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||
| 1790 | if ms.LoadMessageInfo() == nil { | 1920 | if ms.LoadMessageInfo() == nil { | ||
| @@ -1797,7 +1927,7 @@ func (x *ResolveRevisionResponse) ProtoReflect() protoreflect.Message { | |||||
| 1797 | 1927 | ||||
| 1798 | // Deprecated: Use ResolveRevisionResponse.ProtoReflect.Descriptor instead. | 1928 | // Deprecated: Use ResolveRevisionResponse.ProtoReflect.Descriptor instead. | ||
| 1799 | func (*ResolveRevisionResponse) Descriptor() ([]byte, []int) { | 1929 | func (*ResolveRevisionResponse) Descriptor() ([]byte, []int) { | ||
| 1800 | - | return file_ermite_git_proto_rawDescGZIP(), []int{19} | 1930 | + | return file_ermite_git_proto_rawDescGZIP(), []int{21} |
| 1801 | } | 1931 | } | ||
| 1802 | 1932 | ||||
| 1803 | func (x *ResolveRevisionResponse) GetCommitId() string { | 1933 | func (x *ResolveRevisionResponse) GetCommitId() string { | ||
| @@ -1854,7 +1984,15 @@ const file_ermite_git_proto_rawDesc = "" + | |||||
| 1854 | "\atree_id\x18\x02 \x01(\tR\x06treeId\x12+\n" + | 1984 | "\atree_id\x18\x02 \x01(\tR\x06treeId\x12+\n" + | ||
| 1855 | "\aentries\x18\x03 \x03(\v2\x11.ermite.TreeEntryR\aentries\x124\n" + | 1985 | "\aentries\x18\x03 \x03(\v2\x11.ermite.TreeEntryR\aentries\x124\n" + | ||
| 1856 | "\x16last_commits_truncated\x18\x04 \x01(\bR\x14lastCommitsTruncated\x12\x1c\n" + | 1986 | "\x16last_commits_truncated\x18\x04 \x01(\bR\x14lastCommitsTruncated\x12\x1c\n" + | ||
| 1857 | - | "\ttruncated\x18\x05 \x01(\bR\ttruncated\"\x8d\x01\n" + | 1987 | + | "\ttruncated\x18\x05 \x01(\bR\ttruncated\"B\n" + |
| 1988 | + | "\x10ListPathsRequest\x12\x12\n" + | |||
| 1989 | + | "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x1a\n" + | |||
| 1990 | + | "\brevision\x18\x02 \x01(\tR\brevision\"}\n" + | |||
| 1991 | + | "\x11ListPathsResponse\x12\x1b\n" + | |||
| 1992 | + | "\tcommit_id\x18\x01 \x01(\tR\bcommitId\x12\x17\n" + | |||
| 1993 | + | "\atree_id\x18\x02 \x01(\tR\x06treeId\x12\x14\n" + | |||
| 1994 | + | "\x05paths\x18\x03 \x03(\tR\x05paths\x12\x1c\n" + | |||
| 1995 | + | "\ttruncated\x18\x04 \x01(\bR\ttruncated\"\x8d\x01\n" + | |||
| 1858 | "\bBlobInfo\x12\x0e\n" + | 1996 | "\bBlobInfo\x12\x0e\n" + | ||
| 1859 | "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + | 1997 | "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + | ||
| 1860 | "\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" + | 1998 | "\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" + | ||
| @@ -1957,11 +2095,12 @@ const file_ermite_git_proto_rawDesc = "" + | |||||
| 1957 | "\x15LINE_KIND_UNSPECIFIED\x10\x00\x12\x15\n" + | 2095 | "\x15LINE_KIND_UNSPECIFIED\x10\x00\x12\x15\n" + | ||
| 1958 | "\x11LINE_KIND_CONTEXT\x10\x01\x12\x16\n" + | 2096 | "\x11LINE_KIND_CONTEXT\x10\x01\x12\x16\n" + | ||
| 1959 | "\x12LINE_KIND_ADDITION\x10\x02\x12\x16\n" + | 2097 | "\x12LINE_KIND_ADDITION\x10\x02\x12\x16\n" + | ||
| 1960 | - | "\x12LINE_KIND_DELETION\x10\x032\xa3\x03\n" + | 2098 | + | "\x12LINE_KIND_DELETION\x10\x032\xe5\x03\n" + |
| 1961 | "\n" + | 2099 | "\n" + | ||
| 1962 | "GitService\x12=\n" + | 2100 | "GitService\x12=\n" + | ||
| 1963 | "\bListRefs\x12\x17.ermite.ListRefsRequest\x1a\x18.ermite.ListRefsResponse\x12:\n" + | 2101 | "\bListRefs\x12\x17.ermite.ListRefsRequest\x1a\x18.ermite.ListRefsResponse\x12:\n" + | ||
| 1964 | - | "\aGetTree\x12\x16.ermite.GetTreeRequest\x1a\x17.ermite.GetTreeResponse\x12<\n" + | 2102 | + | "\aGetTree\x12\x16.ermite.GetTreeRequest\x1a\x17.ermite.GetTreeResponse\x12@\n" + |
| 2103 | + | "\tListPaths\x12\x18.ermite.ListPathsRequest\x1a\x19.ermite.ListPathsResponse\x12<\n" + | |||
| 1965 | "\aGetBlob\x12\x16.ermite.GetBlobRequest\x1a\x17.ermite.GetBlobResponse0\x01\x12F\n" + | 2104 | "\aGetBlob\x12\x16.ermite.GetBlobRequest\x1a\x17.ermite.GetBlobResponse0\x01\x12F\n" + | ||
| 1966 | "\vListCommits\x12\x1a.ermite.ListCommitsRequest\x1a\x1b.ermite.ListCommitsResponse\x12@\n" + | 2105 | "\vListCommits\x12\x1a.ermite.ListCommitsRequest\x1a\x1b.ermite.ListCommitsResponse\x12@\n" + | ||
| 1967 | "\tGetCommit\x12\x18.ermite.GetCommitRequest\x1a\x19.ermite.GetCommitResponse\x12R\n" + | 2106 | "\tGetCommit\x12\x18.ermite.GetCommitRequest\x1a\x19.ermite.GetCommitResponse\x12R\n" + | ||
| @@ -1982,7 +2121,7 @@ func file_ermite_git_proto_rawDescGZIP() []byte { | |||||
| 1982 | } | 2121 | } | ||
| 1983 | 2122 | ||||
| 1984 | var file_ermite_git_proto_enumTypes = make([]protoimpl.EnumInfo, 4) | 2123 | var file_ermite_git_proto_enumTypes = make([]protoimpl.EnumInfo, 4) | ||
| 1985 | - | var file_ermite_git_proto_msgTypes = make([]protoimpl.MessageInfo, 20) | 2124 | + | var file_ermite_git_proto_msgTypes = make([]protoimpl.MessageInfo, 22) |
| 1986 | var file_ermite_git_proto_goTypes = []any{ | 2125 | var file_ermite_git_proto_goTypes = []any{ | ||
| 1987 | (RefKind)(0), // 0: ermite.RefKind | 2126 | (RefKind)(0), // 0: ermite.RefKind | ||
| 1988 | (EntryKind)(0), // 1: ermite.EntryKind | 2127 | (EntryKind)(0), // 1: ermite.EntryKind | ||
| @@ -1994,53 +2133,57 @@ var file_ermite_git_proto_goTypes = []any{ | |||||
| 1994 | (*TreeEntry)(nil), // 7: ermite.TreeEntry | 2133 | (*TreeEntry)(nil), // 7: ermite.TreeEntry | ||
| 1995 | (*GetTreeRequest)(nil), // 8: ermite.GetTreeRequest | 2134 | (*GetTreeRequest)(nil), // 8: ermite.GetTreeRequest | ||
| 1996 | (*GetTreeResponse)(nil), // 9: ermite.GetTreeResponse | 2135 | (*GetTreeResponse)(nil), // 9: ermite.GetTreeResponse | ||
| 1997 | - | (*BlobInfo)(nil), // 10: ermite.BlobInfo | 2136 | + | (*ListPathsRequest)(nil), // 10: ermite.ListPathsRequest |
| 1998 | - | (*GetBlobRequest)(nil), // 11: ermite.GetBlobRequest | 2137 | + | (*ListPathsResponse)(nil), // 11: ermite.ListPathsResponse |
| 1999 | - | (*GetBlobResponse)(nil), // 12: ermite.GetBlobResponse | 2138 | + | (*BlobInfo)(nil), // 12: ermite.BlobInfo |
| 2000 | - | (*ListCommitsRequest)(nil), // 13: ermite.ListCommitsRequest | 2139 | + | (*GetBlobRequest)(nil), // 13: ermite.GetBlobRequest |
| 2001 | - | (*ListCommitsResponse)(nil), // 14: ermite.ListCommitsResponse | 2140 | + | (*GetBlobResponse)(nil), // 14: ermite.GetBlobResponse |
| 2002 | - | (*GetCommitRequest)(nil), // 15: ermite.GetCommitRequest | 2141 | + | (*ListCommitsRequest)(nil), // 15: ermite.ListCommitsRequest |
| 2003 | - | (*GetCommitResponse)(nil), // 16: ermite.GetCommitResponse | 2142 | + | (*ListCommitsResponse)(nil), // 16: ermite.ListCommitsResponse |
| 2004 | - | (*DiffStats)(nil), // 17: ermite.DiffStats | 2143 | + | (*GetCommitRequest)(nil), // 17: ermite.GetCommitRequest |
| 2005 | - | (*Diff)(nil), // 18: ermite.Diff | 2144 | + | (*GetCommitResponse)(nil), // 18: ermite.GetCommitResponse |
| 2006 | - | (*FileDiff)(nil), // 19: ermite.FileDiff | 2145 | + | (*DiffStats)(nil), // 19: ermite.DiffStats |
| 2007 | - | (*Hunk)(nil), // 20: ermite.Hunk | 2146 | + | (*Diff)(nil), // 20: ermite.Diff |
| 2008 | - | (*Line)(nil), // 21: ermite.Line | 2147 | + | (*FileDiff)(nil), // 21: ermite.FileDiff |
| 2009 | - | (*ResolveRevisionRequest)(nil), // 22: ermite.ResolveRevisionRequest | 2148 | + | (*Hunk)(nil), // 22: ermite.Hunk |
| 2010 | - | (*ResolveRevisionResponse)(nil), // 23: ermite.ResolveRevisionResponse | 2149 | + | (*Line)(nil), // 23: ermite.Line |
| 2011 | - | (*Commit)(nil), // 24: ermite.Commit | 2150 | + | (*ResolveRevisionRequest)(nil), // 24: ermite.ResolveRevisionRequest |
| 2151 | + | (*ResolveRevisionResponse)(nil), // 25: ermite.ResolveRevisionResponse | |||
| 2152 | + | (*Commit)(nil), // 26: ermite.Commit | |||
| 2012 | } | 2153 | } | ||
| 2013 | var file_ermite_git_proto_depIdxs = []int32{ | 2154 | var file_ermite_git_proto_depIdxs = []int32{ | ||
| 2014 | 0, // 0: ermite.Ref.kind:type_name -> ermite.RefKind | 2155 | 0, // 0: ermite.Ref.kind:type_name -> ermite.RefKind | ||
| 2015 | 0, // 1: ermite.ListRefsRequest.kinds:type_name -> ermite.RefKind | 2156 | 0, // 1: ermite.ListRefsRequest.kinds:type_name -> ermite.RefKind | ||
| 2016 | 4, // 2: ermite.ListRefsResponse.refs:type_name -> ermite.Ref | 2157 | 4, // 2: ermite.ListRefsResponse.refs:type_name -> ermite.Ref | ||
| 2017 | 1, // 3: ermite.TreeEntry.kind:type_name -> ermite.EntryKind | 2158 | 1, // 3: ermite.TreeEntry.kind:type_name -> ermite.EntryKind | ||
| 2018 | - | 24, // 4: ermite.TreeEntry.last_commit:type_name -> ermite.Commit | 2159 | + | 26, // 4: ermite.TreeEntry.last_commit:type_name -> ermite.Commit |
| 2019 | 7, // 5: ermite.GetTreeResponse.entries:type_name -> ermite.TreeEntry | 2160 | 7, // 5: ermite.GetTreeResponse.entries:type_name -> ermite.TreeEntry | ||
| 2020 | - | 10, // 6: ermite.GetBlobResponse.info:type_name -> ermite.BlobInfo | 2161 | + | 12, // 6: ermite.GetBlobResponse.info:type_name -> ermite.BlobInfo |
| 2021 | - | 24, // 7: ermite.ListCommitsResponse.commits:type_name -> ermite.Commit | 2162 | + | 26, // 7: ermite.ListCommitsResponse.commits:type_name -> ermite.Commit |
| 2022 | - | 24, // 8: ermite.GetCommitResponse.commit:type_name -> ermite.Commit | 2163 | + | 26, // 8: ermite.GetCommitResponse.commit:type_name -> ermite.Commit |
| 2023 | - | 17, // 9: ermite.GetCommitResponse.stats:type_name -> ermite.DiffStats | 2164 | + | 19, // 9: ermite.GetCommitResponse.stats:type_name -> ermite.DiffStats |
| 2024 | - | 18, // 10: ermite.GetCommitResponse.diff:type_name -> ermite.Diff | 2165 | + | 20, // 10: ermite.GetCommitResponse.diff:type_name -> ermite.Diff |
| 2025 | - | 19, // 11: ermite.Diff.files:type_name -> ermite.FileDiff | 2166 | + | 21, // 11: ermite.Diff.files:type_name -> ermite.FileDiff |
| 2026 | 2, // 12: ermite.FileDiff.status:type_name -> ermite.FileStatus | 2167 | 2, // 12: ermite.FileDiff.status:type_name -> ermite.FileStatus | ||
| 2027 | - | 20, // 13: ermite.FileDiff.hunks:type_name -> ermite.Hunk | 2168 | + | 22, // 13: ermite.FileDiff.hunks:type_name -> ermite.Hunk |
| 2028 | - | 21, // 14: ermite.Hunk.lines:type_name -> ermite.Line | 2169 | + | 23, // 14: ermite.Hunk.lines:type_name -> ermite.Line |
| 2029 | 3, // 15: ermite.Line.kind:type_name -> ermite.LineKind | 2170 | 3, // 15: ermite.Line.kind:type_name -> ermite.LineKind | ||
| 2030 | 5, // 16: ermite.GitService.ListRefs:input_type -> ermite.ListRefsRequest | 2171 | 5, // 16: ermite.GitService.ListRefs:input_type -> ermite.ListRefsRequest | ||
| 2031 | 8, // 17: ermite.GitService.GetTree:input_type -> ermite.GetTreeRequest | 2172 | 8, // 17: ermite.GitService.GetTree:input_type -> ermite.GetTreeRequest | ||
| 2032 | - | 11, // 18: ermite.GitService.GetBlob:input_type -> ermite.GetBlobRequest | 2173 | + | 10, // 18: ermite.GitService.ListPaths:input_type -> ermite.ListPathsRequest |
| 2033 | - | 13, // 19: ermite.GitService.ListCommits:input_type -> ermite.ListCommitsRequest | 2174 | + | 13, // 19: ermite.GitService.GetBlob:input_type -> ermite.GetBlobRequest |
| 2034 | - | 15, // 20: ermite.GitService.GetCommit:input_type -> ermite.GetCommitRequest | 2175 | + | 15, // 20: ermite.GitService.ListCommits:input_type -> ermite.ListCommitsRequest |
| 2035 | - | 22, // 21: ermite.GitService.ResolveRevision:input_type -> ermite.ResolveRevisionRequest | 2176 | + | 17, // 21: ermite.GitService.GetCommit:input_type -> ermite.GetCommitRequest |
| 2036 | - | 6, // 22: ermite.GitService.ListRefs:output_type -> ermite.ListRefsResponse | 2177 | + | 24, // 22: ermite.GitService.ResolveRevision:input_type -> ermite.ResolveRevisionRequest |
| 2037 | - | 9, // 23: ermite.GitService.GetTree:output_type -> ermite.GetTreeResponse | 2178 | + | 6, // 23: ermite.GitService.ListRefs:output_type -> ermite.ListRefsResponse |
| 2038 | - | 12, // 24: ermite.GitService.GetBlob:output_type -> ermite.GetBlobResponse | 2179 | + | 9, // 24: ermite.GitService.GetTree:output_type -> ermite.GetTreeResponse |
| 2039 | - | 14, // 25: ermite.GitService.ListCommits:output_type -> ermite.ListCommitsResponse | 2180 | + | 11, // 25: ermite.GitService.ListPaths:output_type -> ermite.ListPathsResponse |
| 2040 | - | 16, // 26: ermite.GitService.GetCommit:output_type -> ermite.GetCommitResponse | 2181 | + | 14, // 26: ermite.GitService.GetBlob:output_type -> ermite.GetBlobResponse |
| 2041 | - | 23, // 27: ermite.GitService.ResolveRevision:output_type -> ermite.ResolveRevisionResponse | 2182 | + | 16, // 27: ermite.GitService.ListCommits:output_type -> ermite.ListCommitsResponse |
| 2042 | - | 22, // [22:28] is the sub-list for method output_type | 2183 | + | 18, // 28: ermite.GitService.GetCommit:output_type -> ermite.GetCommitResponse |
| 2043 | - | 16, // [16:22] is the sub-list for method input_type | 2184 | + | 25, // 29: ermite.GitService.ResolveRevision:output_type -> ermite.ResolveRevisionResponse |
| 2185 | + | 23, // [23:30] is the sub-list for method output_type | |||
| 2186 | + | 16, // [16:23] is the sub-list for method input_type | |||
| 2044 | 16, // [16:16] is the sub-list for extension type_name | 2187 | 16, // [16:16] is the sub-list for extension type_name | ||
| 2045 | 16, // [16:16] is the sub-list for extension extendee | 2188 | 16, // [16:16] is the sub-list for extension extendee | ||
| 2046 | 0, // [0:16] is the sub-list for field type_name | 2189 | 0, // [0:16] is the sub-list for field type_name | ||
| @@ -2058,7 +2201,7 @@ func file_ermite_git_proto_init() { | |||||
| 2058 | GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | 2201 | GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | ||
| 2059 | RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_git_proto_rawDesc), len(file_ermite_git_proto_rawDesc)), | 2202 | RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_git_proto_rawDesc), len(file_ermite_git_proto_rawDesc)), | ||
| 2060 | NumEnums: 4, | 2203 | NumEnums: 4, | ||
| 2061 | - | NumMessages: 20, | 2204 | + | NumMessages: 22, |
| 2062 | NumExtensions: 0, | 2205 | NumExtensions: 0, | ||
| 2063 | NumServices: 1, | 2206 | NumServices: 1, | ||
| 2064 | }, | 2207 | }, | ||
M gen_test.go +1 -0
| @@ -22,6 +22,7 @@ func TestProcedures(t *testing.T) { | |||
| 22 | 22 | {ermiteconnect.RepoServiceDeleteRepoProcedure, "/ermite.RepoService/DeleteRepo"}, | |
| 23 | 23 | {ermiteconnect.GitServiceListRefsProcedure, "/ermite.GitService/ListRefs"}, | |
| 24 | 24 | {ermiteconnect.GitServiceGetTreeProcedure, "/ermite.GitService/GetTree"}, | |
| 25 | + | {ermiteconnect.GitServiceListPathsProcedure, "/ermite.GitService/ListPaths"}, | |
| 25 | 26 | {ermiteconnect.GitServiceGetBlobProcedure, "/ermite.GitService/GetBlob"}, | |
| 26 | 27 | {ermiteconnect.GitServiceListCommitsProcedure, "/ermite.GitService/ListCommits"}, | |
| 27 | 28 | {ermiteconnect.GitServiceGetCommitProcedure, "/ermite.GitService/GetCommit"}, | |
| @@ -22,6 +22,7 @@ func TestProcedures(t *testing.T) { | |||||
| 22 | {ermiteconnect.RepoServiceDeleteRepoProcedure, "/ermite.RepoService/DeleteRepo"}, | 22 | {ermiteconnect.RepoServiceDeleteRepoProcedure, "/ermite.RepoService/DeleteRepo"}, | ||
| 23 | {ermiteconnect.GitServiceListRefsProcedure, "/ermite.GitService/ListRefs"}, | 23 | {ermiteconnect.GitServiceListRefsProcedure, "/ermite.GitService/ListRefs"}, | ||
| 24 | {ermiteconnect.GitServiceGetTreeProcedure, "/ermite.GitService/GetTree"}, | 24 | {ermiteconnect.GitServiceGetTreeProcedure, "/ermite.GitService/GetTree"}, | ||
| 25 | + | {ermiteconnect.GitServiceListPathsProcedure, "/ermite.GitService/ListPaths"}, | |||
| 25 | {ermiteconnect.GitServiceGetBlobProcedure, "/ermite.GitService/GetBlob"}, | 26 | {ermiteconnect.GitServiceGetBlobProcedure, "/ermite.GitService/GetBlob"}, | ||
| 26 | {ermiteconnect.GitServiceListCommitsProcedure, "/ermite.GitService/ListCommits"}, | 27 | {ermiteconnect.GitServiceListCommitsProcedure, "/ermite.GitService/ListCommits"}, | ||
| 27 | {ermiteconnect.GitServiceGetCommitProcedure, "/ermite.GitService/GetCommit"}, | 28 | {ermiteconnect.GitServiceGetCommitProcedure, "/ermite.GitService/GetCommit"}, | ||
M proto/ermite/git.proto +29 -0
| @@ -81,6 +81,13 @@ service GitService { | |||
| 81 | 81 | // not_found if the path does not exist and invalid_argument if it is not a | |
| 82 | 82 | // directory. | |
| 83 | 83 | rpc GetTree(GetTreeRequest) returns (GetTreeResponse); | |
| 84 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |
| 85 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |
| 86 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |
| 87 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |
| 88 | + | // revision or an empty repository. Servers that have it advertise the | |
| 89 | + | // feature "git.list_paths" in GetVersion. | |
| 90 | + | rpc ListPaths(ListPathsRequest) returns (ListPathsResponse); | |
| 84 | 91 | // GetBlob streams the content of a file at a revision, in chunks of at most | |
| 85 | 92 | // 64 KiB. The first message carries the metadata in info, then the chunks | |
| 86 | 93 | // follow; the memory used by the server does not depend on the file size. | |
| @@ -199,6 +206,28 @@ message GetTreeResponse { | |||
| 199 | 206 | bool truncated = 5; | |
| 200 | 207 | } | |
| 201 | 208 | ||
| 209 | + | // ListPathsRequest selects a revision. | |
| 210 | + | message ListPathsRequest { | |
| 211 | + | // Repo is the repository name. | |
| 212 | + | string repo = 1; | |
| 213 | + | // Revision is a branch, a tag or a commit id. Empty means HEAD. | |
| 214 | + | string revision = 2; | |
| 215 | + | } | |
| 216 | + | ||
| 217 | + | // ListPathsResponse lists the file paths of a revision. | |
| 218 | + | message ListPathsResponse { | |
| 219 | + | // CommitId is the id of the commit the revision resolved to. | |
| 220 | + | string commit_id = 1; | |
| 221 | + | // TreeId is the object id of its root tree. | |
| 222 | + | string tree_id = 2; | |
| 223 | + | // Paths are the paths of the files and symbolic links, in Git tree order. A | |
| 224 | + | // response holds at most 100,000 paths and 8 MiB of path bytes (server limits | |
| 225 | + | // that may change; rely on truncated, not on the numbers). | |
| 226 | + | repeated string paths = 3; | |
| 227 | + | // Truncated is true when more paths exist past the first ones returned. | |
| 228 | + | bool truncated = 4; | |
| 229 | + | } | |
| 230 | + | ||
| 202 | 231 | // BlobInfo describes a file. | |
| 203 | 232 | message BlobInfo { | |
| 204 | 233 | // Id is the object id of the blob. | |
| @@ -81,6 +81,13 @@ service GitService { | |||||
| 81 | // not_found if the path does not exist and invalid_argument if it is not a | 81 | // not_found if the path does not exist and invalid_argument if it is not a | ||
| 82 | // directory. | 82 | // directory. | ||
| 83 | rpc GetTree(GetTreeRequest) returns (GetTreeResponse); | 83 | rpc GetTree(GetTreeRequest) returns (GetTreeResponse); | ||
| 84 | + | // ListPaths lists the paths of every file and symbolic link of a revision, | |||
| 85 | + | // recursively, in Git tree order (the order of `git ls-tree -r`). Directories | |||
| 86 | + | // and submodules are not listed, nor paths GetBlob cannot address (not valid | |||
| 87 | + | // UTF-8, or with a control character). Fails with not_found for an unknown | |||
| 88 | + | // revision or an empty repository. Servers that have it advertise the | |||
| 89 | + | // feature "git.list_paths" in GetVersion. | |||
| 90 | + | rpc ListPaths(ListPathsRequest) returns (ListPathsResponse); | |||
| 84 | // GetBlob streams the content of a file at a revision, in chunks of at most | 91 | // GetBlob streams the content of a file at a revision, in chunks of at most | ||
| 85 | // 64 KiB. The first message carries the metadata in info, then the chunks | 92 | // 64 KiB. The first message carries the metadata in info, then the chunks | ||
| 86 | // follow; the memory used by the server does not depend on the file size. | 93 | // follow; the memory used by the server does not depend on the file size. | ||
| @@ -199,6 +206,28 @@ message GetTreeResponse { | |||||
| 199 | bool truncated = 5; | 206 | bool truncated = 5; | ||
| 200 | } | 207 | } | ||
| 201 | 208 | ||||
| 209 | + | // ListPathsRequest selects a revision. | |||
| 210 | + | message ListPathsRequest { | |||
| 211 | + | // Repo is the repository name. | |||
| 212 | + | string repo = 1; | |||
| 213 | + | // Revision is a branch, a tag or a commit id. Empty means HEAD. | |||
| 214 | + | string revision = 2; | |||
| 215 | + | } | |||
| 216 | + | ||||
| 217 | + | // ListPathsResponse lists the file paths of a revision. | |||
| 218 | + | message ListPathsResponse { | |||
| 219 | + | // CommitId is the id of the commit the revision resolved to. | |||
| 220 | + | string commit_id = 1; | |||
| 221 | + | // TreeId is the object id of its root tree. | |||
| 222 | + | string tree_id = 2; | |||
| 223 | + | // Paths are the paths of the files and symbolic links, in Git tree order. A | |||
| 224 | + | // response holds at most 100,000 paths and 8 MiB of path bytes (server limits | |||
| 225 | + | // that may change; rely on truncated, not on the numbers). | |||
| 226 | + | repeated string paths = 3; | |||
| 227 | + | // Truncated is true when more paths exist past the first ones returned. | |||
| 228 | + | bool truncated = 4; | |||
| 229 | + | } | |||
| 230 | + | ||||
| 202 | // BlobInfo describes a file. | 231 | // BlobInfo describes a file. | ||
| 203 | message BlobInfo { | 232 | message BlobInfo { | ||
| 204 | // Id is the object id of the blob. | 233 | // Id is the object id of the blob. | ||