detached d79051b

Merge f9976e7ef950a413ab4cb985f1b850caf1c8c8cf into b97dc8626c51d183d4f3373be9b3fd8f6b155755

commit
d79051b77f8199a3fe8a5db9389e19b8783e1a6d
author
ermite · · 2026-10-21 04:07 UTC
merge of
b97dc86 + f9976e7 · diff against the first parent
signature
unsigned
11 files · +1061 -307
M docs/services.md +1 -1
@@ -5,7 +5,7 @@
55 | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` |
66 | `GitService` | `ListRefs`, `GetTree`, `ListPaths`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` |
77 | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` |
8-| `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `EditComment`, `DeleteComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest` (modes fast-forward, squash, merge commit), `MarkRead`. Open merge requests carry `mergeability` (up to date, behind, conflict, or checking) and `Watch` publishes `MergeRequestMergeability` each time a result is settled for new branch tips (feature `merge_requests.mergeability`) |
8+| `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `EditComment`, `DeleteComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest` (modes fast-forward, squash, merge commit), `MarkRead`, `EnableAutoMerge`, `CancelAutoMerge` (merge by itself once a check passed on the head and all its runs are complete; setting `allow_auto_merge`, `MergeRequest.auto_merge`, events `MergeRequestAutoMergeEnabled` and `MergeRequestAutoMergeCancelled`, `MergeRequestMerged.auto`; feature `merge_requests.auto_merge`). Open merge requests carry `mergeability` (up to date, behind, conflict, or checking) and `Watch` publishes `MergeRequestMergeability` each time a result is settled for new branch tips (feature `merge_requests.mergeability`) |
99 | `IssueService` | `CreateIssue`, `ListIssues`, `GetIssue` (comments, merge requests naming the issue, `closed_by_merge_request`), `AddIssueComment`, `CloseIssue`, `ReopenIssue`; owner only: `ListPendingIssues`, `ApproveIssue`, `RejectIssue`. Features `issues`, `issues.links`. Issues share numbers with merge requests |
1010 | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) |
1111 | `EventService` | `Watch` (streamed, resumable). Topics `home`, `repo:<name>` and `owner` (owner rights only). Events 17–21: `issue_opened`, `issue_closed`, `issue_reopened`, `issue_commented`, and `issue_submitted` (only on `owner`, no content). Event 22: `merge_request_mergeability` |
@@ -5,7 +5,7 @@
5 | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` |5 | `RepoService` | `ListRepos`, `GetRepo`, `CreateRepo`, `UpdateRepo` (field mask, merge settings), `DeleteRepo` |
6 | `GitService` | `ListRefs`, `GetTree`, `ListPaths`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` |6 | `GitService` | `ListRefs`, `GetTree`, `ListPaths`, `GetBlob` (streamed), `ListCommits`, `GetCommit` (structured diff), `ResolveRevision` |
7 | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` |7 | `TokenService` | `CreateToken` (secret shown once), `ListTokens`, `RevokeToken` |
8-| `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `EditComment`, `DeleteComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest` (modes fast-forward, squash, merge commit), `MarkRead`. Open merge requests carry `mergeability` (up to date, behind, conflict, or checking) and `Watch` publishes `MergeRequestMergeability` each time a result is settled for new branch tips (feature `merge_requests.mergeability`) |8+| `MergeRequestService` | `CreateMergeRequest`, `ListMergeRequests`, `GetMergeRequest` (commits, diff, comments), `AddComment`, `EditComment`, `DeleteComment`, `ResolveComment`, `CloseMergeRequest`, `MergeMergeRequest` (modes fast-forward, squash, merge commit), `MarkRead`, `EnableAutoMerge`, `CancelAutoMerge` (merge by itself once a check passed on the head and all its runs are complete; setting `allow_auto_merge`, `MergeRequest.auto_merge`, events `MergeRequestAutoMergeEnabled` and `MergeRequestAutoMergeCancelled`, `MergeRequestMerged.auto`; feature `merge_requests.auto_merge`). Open merge requests carry `mergeability` (up to date, behind, conflict, or checking) and `Watch` publishes `MergeRequestMergeability` each time a result is settled for new branch tips (feature `merge_requests.mergeability`) |
9 | `IssueService` | `CreateIssue`, `ListIssues`, `GetIssue` (comments, merge requests naming the issue, `closed_by_merge_request`), `AddIssueComment`, `CloseIssue`, `ReopenIssue`; owner only: `ListPendingIssues`, `ApproveIssue`, `RejectIssue`. Features `issues`, `issues.links`. Issues share numbers with merge requests |9 | `IssueService` | `CreateIssue`, `ListIssues`, `GetIssue` (comments, merge requests naming the issue, `closed_by_merge_request`), `AddIssueComment`, `CloseIssue`, `ReopenIssue`; owner only: `ListPendingIssues`, `ApproveIssue`, `RejectIssue`. Features `issues`, `issues.links`. Issues share numbers with merge requests |
10 | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) |10 | `SessionService` | `CreateLoginLink`, `SignOutEverywhere` (owner only) |
11 | `EventService` | `Watch` (streamed, resumable). Topics `home`, `repo:<name>` and `owner` (owner rights only). Events 17–21: `issue_opened`, `issue_closed`, `issue_reopened`, `issue_commented`, and `issue_submitted` (only on `owner`, no content). Event 22: `merge_request_mergeability` |11 | `EventService` | `Watch` (streamed, resumable). Topics `home`, `repo:<name>` and `owner` (owner rights only). Events 17–21: `issue_opened`, `issue_closed`, `issue_reopened`, `issue_commented`, and `issue_submitted` (only on `owner`, no content). Event 22: `merge_request_mergeability` |
M gen/ermite/ermiteconnect/merge_request.connect.go +100 -0
@@ -62,6 +62,12 @@ const (
6262 // MergeRequestServiceMergeMergeRequestProcedure is the fully-qualified name of the
6363 // MergeRequestService's MergeMergeRequest RPC.
6464 MergeRequestServiceMergeMergeRequestProcedure = "/ermite.MergeRequestService/MergeMergeRequest"
65+ // MergeRequestServiceEnableAutoMergeProcedure is the fully-qualified name of the
66+ // MergeRequestService's EnableAutoMerge RPC.
67+ MergeRequestServiceEnableAutoMergeProcedure = "/ermite.MergeRequestService/EnableAutoMerge"
68+ // MergeRequestServiceCancelAutoMergeProcedure is the fully-qualified name of the
69+ // MergeRequestService's CancelAutoMerge RPC.
70+ MergeRequestServiceCancelAutoMergeProcedure = "/ermite.MergeRequestService/CancelAutoMerge"
6571 // MergeRequestServiceMarkReadProcedure is the fully-qualified name of the MergeRequestService's
6672 // MarkRead RPC.
6773 MergeRequestServiceMarkReadProcedure = "/ermite.MergeRequestService/MarkRead"
@@ -137,6 +143,29 @@ type MergeRequestServiceClient interface {
137143 // failed_precondition (not open). On success the server publishes
138144 // MergeRequestMerged then Pushed for the target branch.
139145 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)
146+ // EnableAutoMerge asks the server to merge an open merge request by itself
147+ // once at least one check passed on its head, every run created on that head
148+ // is complete, and the merge would be accepted whatever
149+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
150+ // token limited to branches, write access to the target branch
151+ // (permission_denied otherwise). The server records the caller, the mode and
152+ // the head the caller saw; it merges as the caller, after resolving the caller
153+ // again, and cancels the auto-merge if the caller can no longer merge, if the
154+ // mode is no longer allowed, if the source branch moves or if the setting is
155+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
156+ // if head_id is empty or not a commit id, and with failed_precondition if the
157+ // merge request is not open, if the source branch no longer points to head_id
158+ // ("branch moved, read again"), is a draft,
159+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
160+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
161+ // Publishes MergeRequestAutoMergeEnabled. Needs the
162+ // "merge_requests.auto_merge" feature.
163+ EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error)
164+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
165+ // Needs the mr:merge scope and, for a token limited to branches, write access
166+ // to the target branch. Fails with failed_precondition if auto-merge is not
167+ // enabled. Publishes MergeRequestAutoMergeCancelled.
168+ CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error)
140169 // MarkRead records the head the caller has reviewed, for the since_last_read
141170 // option of GetMergeRequest. There is one read position per merge request,
142171 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -209,6 +238,18 @@ func NewMergeRequestServiceClient(httpClient connect.HTTPClient, baseURL string,
209238 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),
210239 connect.WithClientOptions(opts...),
211240 ),
241+ enableAutoMerge: connect.NewClient[ermite.EnableAutoMergeRequest, ermite.EnableAutoMergeResponse](
242+ httpClient,
243+ baseURL+MergeRequestServiceEnableAutoMergeProcedure,
244+ connect.WithSchema(mergeRequestServiceMethods.ByName("EnableAutoMerge")),
245+ connect.WithClientOptions(opts...),
246+ ),
247+ cancelAutoMerge: connect.NewClient[ermite.CancelAutoMergeRequest, ermite.CancelAutoMergeResponse](
248+ httpClient,
249+ baseURL+MergeRequestServiceCancelAutoMergeProcedure,
250+ connect.WithSchema(mergeRequestServiceMethods.ByName("CancelAutoMerge")),
251+ connect.WithClientOptions(opts...),
252+ ),
212253 markRead: connect.NewClient[ermite.MarkReadRequest, ermite.MarkReadResponse](
213254 httpClient,
214255 baseURL+MergeRequestServiceMarkReadProcedure,
@@ -229,6 +270,8 @@ type mergeRequestServiceClient struct {
229270 resolveComment *connect.Client[ermite.ResolveCommentRequest, ermite.ResolveCommentResponse]
230271 closeMergeRequest *connect.Client[ermite.CloseMergeRequestRequest, ermite.CloseMergeRequestResponse]
231272 mergeMergeRequest *connect.Client[ermite.MergeMergeRequestRequest, ermite.MergeMergeRequestResponse]
273+ enableAutoMerge *connect.Client[ermite.EnableAutoMergeRequest, ermite.EnableAutoMergeResponse]
274+ cancelAutoMerge *connect.Client[ermite.CancelAutoMergeRequest, ermite.CancelAutoMergeResponse]
232275 markRead *connect.Client[ermite.MarkReadRequest, ermite.MarkReadResponse]
233276 }
234277
@@ -277,6 +320,16 @@ func (c *mergeRequestServiceClient) MergeMergeRequest(ctx context.Context, req *
277320 return c.mergeMergeRequest.CallUnary(ctx, req)
278321 }
279322
323+// EnableAutoMerge calls ermite.MergeRequestService.EnableAutoMerge.
324+func (c *mergeRequestServiceClient) EnableAutoMerge(ctx context.Context, req *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error) {
325+ return c.enableAutoMerge.CallUnary(ctx, req)
326+}
327+
328+// CancelAutoMerge calls ermite.MergeRequestService.CancelAutoMerge.
329+func (c *mergeRequestServiceClient) CancelAutoMerge(ctx context.Context, req *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error) {
330+ return c.cancelAutoMerge.CallUnary(ctx, req)
331+}
332+
280333 // MarkRead calls ermite.MergeRequestService.MarkRead.
281334 func (c *mergeRequestServiceClient) MarkRead(ctx context.Context, req *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {
282335 return c.markRead.CallUnary(ctx, req)
@@ -352,6 +405,29 @@ type MergeRequestServiceHandler interface {
352405 // failed_precondition (not open). On success the server publishes
353406 // MergeRequestMerged then Pushed for the target branch.
354407 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)
408+ // EnableAutoMerge asks the server to merge an open merge request by itself
409+ // once at least one check passed on its head, every run created on that head
410+ // is complete, and the merge would be accepted whatever
411+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
412+ // token limited to branches, write access to the target branch
413+ // (permission_denied otherwise). The server records the caller, the mode and
414+ // the head the caller saw; it merges as the caller, after resolving the caller
415+ // again, and cancels the auto-merge if the caller can no longer merge, if the
416+ // mode is no longer allowed, if the source branch moves or if the setting is
417+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
418+ // if head_id is empty or not a commit id, and with failed_precondition if the
419+ // merge request is not open, if the source branch no longer points to head_id
420+ // ("branch moved, read again"), is a draft,
421+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
422+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
423+ // Publishes MergeRequestAutoMergeEnabled. Needs the
424+ // "merge_requests.auto_merge" feature.
425+ EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error)
426+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
427+ // Needs the mr:merge scope and, for a token limited to branches, write access
428+ // to the target branch. Fails with failed_precondition if auto-merge is not
429+ // enabled. Publishes MergeRequestAutoMergeCancelled.
430+ CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error)
355431 // MarkRead records the head the caller has reviewed, for the since_last_read
356432 // option of GetMergeRequest. There is one read position per merge request,
357433 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -420,6 +496,18 @@ func NewMergeRequestServiceHandler(svc MergeRequestServiceHandler, opts ...conne
420496 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),
421497 connect.WithHandlerOptions(opts...),
422498 )
499+ mergeRequestServiceEnableAutoMergeHandler := connect.NewUnaryHandler(
500+ MergeRequestServiceEnableAutoMergeProcedure,
501+ svc.EnableAutoMerge,
502+ connect.WithSchema(mergeRequestServiceMethods.ByName("EnableAutoMerge")),
503+ connect.WithHandlerOptions(opts...),
504+ )
505+ mergeRequestServiceCancelAutoMergeHandler := connect.NewUnaryHandler(
506+ MergeRequestServiceCancelAutoMergeProcedure,
507+ svc.CancelAutoMerge,
508+ connect.WithSchema(mergeRequestServiceMethods.ByName("CancelAutoMerge")),
509+ connect.WithHandlerOptions(opts...),
510+ )
423511 mergeRequestServiceMarkReadHandler := connect.NewUnaryHandler(
424512 MergeRequestServiceMarkReadProcedure,
425513 svc.MarkRead,
@@ -446,6 +534,10 @@ func NewMergeRequestServiceHandler(svc MergeRequestServiceHandler, opts ...conne
446534 mergeRequestServiceCloseMergeRequestHandler.ServeHTTP(w, r)
447535 case MergeRequestServiceMergeMergeRequestProcedure:
448536 mergeRequestServiceMergeMergeRequestHandler.ServeHTTP(w, r)
537+ case MergeRequestServiceEnableAutoMergeProcedure:
538+ mergeRequestServiceEnableAutoMergeHandler.ServeHTTP(w, r)
539+ case MergeRequestServiceCancelAutoMergeProcedure:
540+ mergeRequestServiceCancelAutoMergeHandler.ServeHTTP(w, r)
449541 case MergeRequestServiceMarkReadProcedure:
450542 mergeRequestServiceMarkReadHandler.ServeHTTP(w, r)
451543 default:
@@ -493,6 +585,14 @@ func (UnimplementedMergeRequestServiceHandler) MergeMergeRequest(context.Context
493585 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MergeMergeRequest is not implemented"))
494586 }
495587
588+func (UnimplementedMergeRequestServiceHandler) EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error) {
589+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.EnableAutoMerge is not implemented"))
590+}
591+
592+func (UnimplementedMergeRequestServiceHandler) CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error) {
593+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.CancelAutoMerge is not implemented"))
594+}
595+
496596 func (UnimplementedMergeRequestServiceHandler) MarkRead(context.Context, *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {
497597 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MarkRead is not implemented"))
498598 }
@@ -62,6 +62,12 @@ const (
62 // MergeRequestServiceMergeMergeRequestProcedure is the fully-qualified name of the62 // MergeRequestServiceMergeMergeRequestProcedure is the fully-qualified name of the
63 // MergeRequestService's MergeMergeRequest RPC.63 // MergeRequestService's MergeMergeRequest RPC.
64 MergeRequestServiceMergeMergeRequestProcedure = "/ermite.MergeRequestService/MergeMergeRequest"64 MergeRequestServiceMergeMergeRequestProcedure = "/ermite.MergeRequestService/MergeMergeRequest"
65+ // MergeRequestServiceEnableAutoMergeProcedure is the fully-qualified name of the
66+ // MergeRequestService's EnableAutoMerge RPC.
67+ MergeRequestServiceEnableAutoMergeProcedure = "/ermite.MergeRequestService/EnableAutoMerge"
68+ // MergeRequestServiceCancelAutoMergeProcedure is the fully-qualified name of the
69+ // MergeRequestService's CancelAutoMerge RPC.
70+ MergeRequestServiceCancelAutoMergeProcedure = "/ermite.MergeRequestService/CancelAutoMerge"
65 // MergeRequestServiceMarkReadProcedure is the fully-qualified name of the MergeRequestService's71 // MergeRequestServiceMarkReadProcedure is the fully-qualified name of the MergeRequestService's
66 // MarkRead RPC.72 // MarkRead RPC.
67 MergeRequestServiceMarkReadProcedure = "/ermite.MergeRequestService/MarkRead"73 MergeRequestServiceMarkReadProcedure = "/ermite.MergeRequestService/MarkRead"
@@ -137,6 +143,29 @@ type MergeRequestServiceClient interface {
137 // failed_precondition (not open). On success the server publishes143 // failed_precondition (not open). On success the server publishes
138 // MergeRequestMerged then Pushed for the target branch.144 // MergeRequestMerged then Pushed for the target branch.
139 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)145 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)
146+ // EnableAutoMerge asks the server to merge an open merge request by itself
147+ // once at least one check passed on its head, every run created on that head
148+ // is complete, and the merge would be accepted whatever
149+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
150+ // token limited to branches, write access to the target branch
151+ // (permission_denied otherwise). The server records the caller, the mode and
152+ // the head the caller saw; it merges as the caller, after resolving the caller
153+ // again, and cancels the auto-merge if the caller can no longer merge, if the
154+ // mode is no longer allowed, if the source branch moves or if the setting is
155+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
156+ // if head_id is empty or not a commit id, and with failed_precondition if the
157+ // merge request is not open, if the source branch no longer points to head_id
158+ // ("branch moved, read again"), is a draft,
159+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
160+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
161+ // Publishes MergeRequestAutoMergeEnabled. Needs the
162+ // "merge_requests.auto_merge" feature.
163+ EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error)
164+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
165+ // Needs the mr:merge scope and, for a token limited to branches, write access
166+ // to the target branch. Fails with failed_precondition if auto-merge is not
167+ // enabled. Publishes MergeRequestAutoMergeCancelled.
168+ CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error)
140 // MarkRead records the head the caller has reviewed, for the since_last_read169 // MarkRead records the head the caller has reviewed, for the since_last_read
141 // option of GetMergeRequest. There is one read position per merge request,170 // option of GetMergeRequest. There is one read position per merge request,
142 // the reviewer's. Needs the mr:write scope. Marking a commit that does not171 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -209,6 +238,18 @@ func NewMergeRequestServiceClient(httpClient connect.HTTPClient, baseURL string,
209 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),238 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),
210 connect.WithClientOptions(opts...),239 connect.WithClientOptions(opts...),
211 ),240 ),
241+ enableAutoMerge: connect.NewClient[ermite.EnableAutoMergeRequest, ermite.EnableAutoMergeResponse](
242+ httpClient,
243+ baseURL+MergeRequestServiceEnableAutoMergeProcedure,
244+ connect.WithSchema(mergeRequestServiceMethods.ByName("EnableAutoMerge")),
245+ connect.WithClientOptions(opts...),
246+ ),
247+ cancelAutoMerge: connect.NewClient[ermite.CancelAutoMergeRequest, ermite.CancelAutoMergeResponse](
248+ httpClient,
249+ baseURL+MergeRequestServiceCancelAutoMergeProcedure,
250+ connect.WithSchema(mergeRequestServiceMethods.ByName("CancelAutoMerge")),
251+ connect.WithClientOptions(opts...),
252+ ),
212 markRead: connect.NewClient[ermite.MarkReadRequest, ermite.MarkReadResponse](253 markRead: connect.NewClient[ermite.MarkReadRequest, ermite.MarkReadResponse](
213 httpClient,254 httpClient,
214 baseURL+MergeRequestServiceMarkReadProcedure,255 baseURL+MergeRequestServiceMarkReadProcedure,
@@ -229,6 +270,8 @@ type mergeRequestServiceClient struct {
229 resolveComment *connect.Client[ermite.ResolveCommentRequest, ermite.ResolveCommentResponse]270 resolveComment *connect.Client[ermite.ResolveCommentRequest, ermite.ResolveCommentResponse]
230 closeMergeRequest *connect.Client[ermite.CloseMergeRequestRequest, ermite.CloseMergeRequestResponse]271 closeMergeRequest *connect.Client[ermite.CloseMergeRequestRequest, ermite.CloseMergeRequestResponse]
231 mergeMergeRequest *connect.Client[ermite.MergeMergeRequestRequest, ermite.MergeMergeRequestResponse]272 mergeMergeRequest *connect.Client[ermite.MergeMergeRequestRequest, ermite.MergeMergeRequestResponse]
273+ enableAutoMerge *connect.Client[ermite.EnableAutoMergeRequest, ermite.EnableAutoMergeResponse]
274+ cancelAutoMerge *connect.Client[ermite.CancelAutoMergeRequest, ermite.CancelAutoMergeResponse]
232 markRead *connect.Client[ermite.MarkReadRequest, ermite.MarkReadResponse]275 markRead *connect.Client[ermite.MarkReadRequest, ermite.MarkReadResponse]
233 }276 }
234 277
@@ -277,6 +320,16 @@ func (c *mergeRequestServiceClient) MergeMergeRequest(ctx context.Context, req *
277 return c.mergeMergeRequest.CallUnary(ctx, req)320 return c.mergeMergeRequest.CallUnary(ctx, req)
278 }321 }
279 322
323+// EnableAutoMerge calls ermite.MergeRequestService.EnableAutoMerge.
324+func (c *mergeRequestServiceClient) EnableAutoMerge(ctx context.Context, req *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error) {
325+ return c.enableAutoMerge.CallUnary(ctx, req)
326+}
327+
328+// CancelAutoMerge calls ermite.MergeRequestService.CancelAutoMerge.
329+func (c *mergeRequestServiceClient) CancelAutoMerge(ctx context.Context, req *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error) {
330+ return c.cancelAutoMerge.CallUnary(ctx, req)
331+}
332+
280 // MarkRead calls ermite.MergeRequestService.MarkRead.333 // MarkRead calls ermite.MergeRequestService.MarkRead.
281 func (c *mergeRequestServiceClient) MarkRead(ctx context.Context, req *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {334 func (c *mergeRequestServiceClient) MarkRead(ctx context.Context, req *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {
282 return c.markRead.CallUnary(ctx, req)335 return c.markRead.CallUnary(ctx, req)
@@ -352,6 +405,29 @@ type MergeRequestServiceHandler interface {
352 // failed_precondition (not open). On success the server publishes405 // failed_precondition (not open). On success the server publishes
353 // MergeRequestMerged then Pushed for the target branch.406 // MergeRequestMerged then Pushed for the target branch.
354 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)407 MergeMergeRequest(context.Context, *connect.Request[ermite.MergeMergeRequestRequest]) (*connect.Response[ermite.MergeMergeRequestResponse], error)
408+ // EnableAutoMerge asks the server to merge an open merge request by itself
409+ // once at least one check passed on its head, every run created on that head
410+ // is complete, and the merge would be accepted whatever
411+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
412+ // token limited to branches, write access to the target branch
413+ // (permission_denied otherwise). The server records the caller, the mode and
414+ // the head the caller saw; it merges as the caller, after resolving the caller
415+ // again, and cancels the auto-merge if the caller can no longer merge, if the
416+ // mode is no longer allowed, if the source branch moves or if the setting is
417+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
418+ // if head_id is empty or not a commit id, and with failed_precondition if the
419+ // merge request is not open, if the source branch no longer points to head_id
420+ // ("branch moved, read again"), is a draft,
421+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
422+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
423+ // Publishes MergeRequestAutoMergeEnabled. Needs the
424+ // "merge_requests.auto_merge" feature.
425+ EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error)
426+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
427+ // Needs the mr:merge scope and, for a token limited to branches, write access
428+ // to the target branch. Fails with failed_precondition if auto-merge is not
429+ // enabled. Publishes MergeRequestAutoMergeCancelled.
430+ CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error)
355 // MarkRead records the head the caller has reviewed, for the since_last_read431 // MarkRead records the head the caller has reviewed, for the since_last_read
356 // option of GetMergeRequest. There is one read position per merge request,432 // option of GetMergeRequest. There is one read position per merge request,
357 // the reviewer's. Needs the mr:write scope. Marking a commit that does not433 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -420,6 +496,18 @@ func NewMergeRequestServiceHandler(svc MergeRequestServiceHandler, opts ...conne
420 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),496 connect.WithSchema(mergeRequestServiceMethods.ByName("MergeMergeRequest")),
421 connect.WithHandlerOptions(opts...),497 connect.WithHandlerOptions(opts...),
422 )498 )
499+ mergeRequestServiceEnableAutoMergeHandler := connect.NewUnaryHandler(
500+ MergeRequestServiceEnableAutoMergeProcedure,
501+ svc.EnableAutoMerge,
502+ connect.WithSchema(mergeRequestServiceMethods.ByName("EnableAutoMerge")),
503+ connect.WithHandlerOptions(opts...),
504+ )
505+ mergeRequestServiceCancelAutoMergeHandler := connect.NewUnaryHandler(
506+ MergeRequestServiceCancelAutoMergeProcedure,
507+ svc.CancelAutoMerge,
508+ connect.WithSchema(mergeRequestServiceMethods.ByName("CancelAutoMerge")),
509+ connect.WithHandlerOptions(opts...),
510+ )
423 mergeRequestServiceMarkReadHandler := connect.NewUnaryHandler(511 mergeRequestServiceMarkReadHandler := connect.NewUnaryHandler(
424 MergeRequestServiceMarkReadProcedure,512 MergeRequestServiceMarkReadProcedure,
425 svc.MarkRead,513 svc.MarkRead,
@@ -446,6 +534,10 @@ func NewMergeRequestServiceHandler(svc MergeRequestServiceHandler, opts ...conne
446 mergeRequestServiceCloseMergeRequestHandler.ServeHTTP(w, r)534 mergeRequestServiceCloseMergeRequestHandler.ServeHTTP(w, r)
447 case MergeRequestServiceMergeMergeRequestProcedure:535 case MergeRequestServiceMergeMergeRequestProcedure:
448 mergeRequestServiceMergeMergeRequestHandler.ServeHTTP(w, r)536 mergeRequestServiceMergeMergeRequestHandler.ServeHTTP(w, r)
537+ case MergeRequestServiceEnableAutoMergeProcedure:
538+ mergeRequestServiceEnableAutoMergeHandler.ServeHTTP(w, r)
539+ case MergeRequestServiceCancelAutoMergeProcedure:
540+ mergeRequestServiceCancelAutoMergeHandler.ServeHTTP(w, r)
449 case MergeRequestServiceMarkReadProcedure:541 case MergeRequestServiceMarkReadProcedure:
450 mergeRequestServiceMarkReadHandler.ServeHTTP(w, r)542 mergeRequestServiceMarkReadHandler.ServeHTTP(w, r)
451 default:543 default:
@@ -493,6 +585,14 @@ func (UnimplementedMergeRequestServiceHandler) MergeMergeRequest(context.Context
493 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MergeMergeRequest is not implemented"))585 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MergeMergeRequest is not implemented"))
494 }586 }
495 587
588+func (UnimplementedMergeRequestServiceHandler) EnableAutoMerge(context.Context, *connect.Request[ermite.EnableAutoMergeRequest]) (*connect.Response[ermite.EnableAutoMergeResponse], error) {
589+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.EnableAutoMerge is not implemented"))
590+}
591+
592+func (UnimplementedMergeRequestServiceHandler) CancelAutoMerge(context.Context, *connect.Request[ermite.CancelAutoMergeRequest]) (*connect.Response[ermite.CancelAutoMergeResponse], error) {
593+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.CancelAutoMerge is not implemented"))
594+}
595+
496 func (UnimplementedMergeRequestServiceHandler) MarkRead(context.Context, *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {596 func (UnimplementedMergeRequestServiceHandler) MarkRead(context.Context, *connect.Request[ermite.MarkReadRequest]) (*connect.Response[ermite.MarkReadResponse], error) {
497 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MarkRead is not implemented"))597 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.MergeRequestService.MarkRead is not implemented"))
498 }598 }
M gen/ermite/event.pb.go +296 -133 generated file: collapsed
M gen/ermite/merge_request.pb.go +521 -160
@@ -371,6 +371,82 @@ func (x *Mergeability) GetCheckedAt() *timestamppb.Timestamp {
371371 return nil
372372 }
373373
374+// AutoMerge is the pending auto-merge of an open merge request: the server
375+// merges it by itself once its checks pass. Set only by servers with the
376+// "merge_requests.auto_merge" feature.
377+type AutoMerge struct {
378+ state protoimpl.MessageState `protogen:"open.v1"`
379+ // Mode is the merge mode used. Never MERGE_MODE_UNSPECIFIED.
380+ Mode MergeMode `protobuf:"varint,1,opt,name=mode,proto3,enum=ermite.MergeMode" json:"mode,omitempty"`
381+ // HeadId is the head the auto-merge was enabled for. A new head cancels the
382+ // auto-merge.
383+ HeadId string `protobuf:"bytes,2,opt,name=head_id,json=headId,proto3" json:"head_id,omitempty"`
384+ // EnabledBy names who enabled the auto-merge, like MergeRequest.author.
385+ EnabledBy string `protobuf:"bytes,3,opt,name=enabled_by,json=enabledBy,proto3" json:"enabled_by,omitempty"`
386+ // EnabledAt is when the auto-merge was enabled.
387+ EnabledAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=enabled_at,json=enabledAt,proto3" json:"enabled_at,omitempty"`
388+ unknownFields protoimpl.UnknownFields
389+ sizeCache protoimpl.SizeCache
390+}
391+
392+func (x *AutoMerge) Reset() {
393+ *x = AutoMerge{}
394+ mi := &file_ermite_merge_request_proto_msgTypes[1]
395+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
396+ ms.StoreMessageInfo(mi)
397+}
398+
399+func (x *AutoMerge) String() string {
400+ return protoimpl.X.MessageStringOf(x)
401+}
402+
403+func (*AutoMerge) ProtoMessage() {}
404+
405+func (x *AutoMerge) ProtoReflect() protoreflect.Message {
406+ mi := &file_ermite_merge_request_proto_msgTypes[1]
407+ if x != nil {
408+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
409+ if ms.LoadMessageInfo() == nil {
410+ ms.StoreMessageInfo(mi)
411+ }
412+ return ms
413+ }
414+ return mi.MessageOf(x)
415+}
416+
417+// Deprecated: Use AutoMerge.ProtoReflect.Descriptor instead.
418+func (*AutoMerge) Descriptor() ([]byte, []int) {
419+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{1}
420+}
421+
422+func (x *AutoMerge) GetMode() MergeMode {
423+ if x != nil {
424+ return x.Mode
425+ }
426+ return MergeMode_MERGE_MODE_UNSPECIFIED
427+}
428+
429+func (x *AutoMerge) GetHeadId() string {
430+ if x != nil {
431+ return x.HeadId
432+ }
433+ return ""
434+}
435+
436+func (x *AutoMerge) GetEnabledBy() string {
437+ if x != nil {
438+ return x.EnabledBy
439+ }
440+ return ""
441+}
442+
443+func (x *AutoMerge) GetEnabledAt() *timestamppb.Timestamp {
444+ if x != nil {
445+ return x.EnabledAt
446+ }
447+ return nil
448+}
449+
374450 // MergeRequest asks to merge one branch of a repository into another branch
375451 // of the same repository. It is about a branch, not about who wrote it.
376452 type MergeRequest struct {
@@ -421,14 +497,21 @@ type MergeRequest struct {
421497 // a result for the current tips; never set once merged or closed. It is a
422498 // hint: MergeMergeRequest checks again. Set only by servers with the
423499 // "merge_requests.mergeability" feature.
424- Mergeability *Mergeability `protobuf:"bytes,14,opt,name=mergeability,proto3" json:"mergeability,omitempty"`
500+ Mergeability *Mergeability `protobuf:"bytes,14,opt,name=mergeability,proto3" json:"mergeability,omitempty"`
501+ // AutoMerge is the pending auto-merge. Set only while the merge request is
502+ // OPEN and auto-merge is enabled; unset once merged or closed. Set only by
503+ // servers with the "merge_requests.auto_merge" feature.
504+ AutoMerge *AutoMerge `protobuf:"bytes,15,opt,name=auto_merge,json=autoMerge,proto3" json:"auto_merge,omitempty"`
505+ // AutoMerged is true when the server merged the merge request by auto-merge.
506+ // Always false unless state is MERGED.
507+ AutoMerged bool `protobuf:"varint,16,opt,name=auto_merged,json=autoMerged,proto3" json:"auto_merged,omitempty"`
425508 unknownFields protoimpl.UnknownFields
426509 sizeCache protoimpl.SizeCache
427510 }
428511
429512 func (x *MergeRequest) Reset() {
430513 *x = MergeRequest{}
431- mi := &file_ermite_merge_request_proto_msgTypes[1]
514+ mi := &file_ermite_merge_request_proto_msgTypes[2]
432515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
433516 ms.StoreMessageInfo(mi)
434517 }
@@ -440,7 +523,7 @@ func (x *MergeRequest) String() string {
440523 func (*MergeRequest) ProtoMessage() {}
441524
442525 func (x *MergeRequest) ProtoReflect() protoreflect.Message {
443- mi := &file_ermite_merge_request_proto_msgTypes[1]
526+ mi := &file_ermite_merge_request_proto_msgTypes[2]
444527 if x != nil {
445528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446529 if ms.LoadMessageInfo() == nil {
@@ -453,7 +536,7 @@ func (x *MergeRequest) ProtoReflect() protoreflect.Message {
453536
454537 // Deprecated: Use MergeRequest.ProtoReflect.Descriptor instead.
455538 func (*MergeRequest) Descriptor() ([]byte, []int) {
456- return file_ermite_merge_request_proto_rawDescGZIP(), []int{1}
539+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{2}
457540 }
458541
459542 func (x *MergeRequest) GetRepo() string {
@@ -554,6 +637,20 @@ func (x *MergeRequest) GetMergeability() *Mergeability {
554637 return nil
555638 }
556639
640+func (x *MergeRequest) GetAutoMerge() *AutoMerge {
641+ if x != nil {
642+ return x.AutoMerge
643+ }
644+ return nil
645+}
646+
647+func (x *MergeRequest) GetAutoMerged() bool {
648+ if x != nil {
649+ return x.AutoMerged
650+ }
651+ return false
652+}
653+
557654 // Comment is a note on a merge request, either general or attached to a line
558655 // of its diff.
559656 type Comment struct {
@@ -606,7 +703,7 @@ type Comment struct {
606703
607704 func (x *Comment) Reset() {
608705 *x = Comment{}
609- mi := &file_ermite_merge_request_proto_msgTypes[2]
706+ mi := &file_ermite_merge_request_proto_msgTypes[3]
610707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
611708 ms.StoreMessageInfo(mi)
612709 }
@@ -618,7 +715,7 @@ func (x *Comment) String() string {
618715 func (*Comment) ProtoMessage() {}
619716
620717 func (x *Comment) ProtoReflect() protoreflect.Message {
621- mi := &file_ermite_merge_request_proto_msgTypes[2]
718+ mi := &file_ermite_merge_request_proto_msgTypes[3]
622719 if x != nil {
623720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
624721 if ms.LoadMessageInfo() == nil {
@@ -631,7 +728,7 @@ func (x *Comment) ProtoReflect() protoreflect.Message {
631728
632729 // Deprecated: Use Comment.ProtoReflect.Descriptor instead.
633730 func (*Comment) Descriptor() ([]byte, []int) {
634- return file_ermite_merge_request_proto_rawDescGZIP(), []int{2}
731+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{3}
635732 }
636733
637734 func (x *Comment) GetId() string {
@@ -755,7 +852,7 @@ type AuthorVerdict struct {
755852
756853 func (x *AuthorVerdict) Reset() {
757854 *x = AuthorVerdict{}
758- mi := &file_ermite_merge_request_proto_msgTypes[3]
855+ mi := &file_ermite_merge_request_proto_msgTypes[4]
759856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
760857 ms.StoreMessageInfo(mi)
761858 }
@@ -767,7 +864,7 @@ func (x *AuthorVerdict) String() string {
767864 func (*AuthorVerdict) ProtoMessage() {}
768865
769866 func (x *AuthorVerdict) ProtoReflect() protoreflect.Message {
770- mi := &file_ermite_merge_request_proto_msgTypes[3]
867+ mi := &file_ermite_merge_request_proto_msgTypes[4]
771868 if x != nil {
772869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
773870 if ms.LoadMessageInfo() == nil {
@@ -780,7 +877,7 @@ func (x *AuthorVerdict) ProtoReflect() protoreflect.Message {
780877
781878 // Deprecated: Use AuthorVerdict.ProtoReflect.Descriptor instead.
782879 func (*AuthorVerdict) Descriptor() ([]byte, []int) {
783- return file_ermite_merge_request_proto_rawDescGZIP(), []int{3}
880+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{4}
784881 }
785882
786883 func (x *AuthorVerdict) GetAuthor() string {
@@ -847,7 +944,7 @@ type CreateMergeRequestRequest struct {
847944
848945 func (x *CreateMergeRequestRequest) Reset() {
849946 *x = CreateMergeRequestRequest{}
850- mi := &file_ermite_merge_request_proto_msgTypes[4]
947+ mi := &file_ermite_merge_request_proto_msgTypes[5]
851948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
852949 ms.StoreMessageInfo(mi)
853950 }
@@ -859,7 +956,7 @@ func (x *CreateMergeRequestRequest) String() string {
859956 func (*CreateMergeRequestRequest) ProtoMessage() {}
860957
861958 func (x *CreateMergeRequestRequest) ProtoReflect() protoreflect.Message {
862- mi := &file_ermite_merge_request_proto_msgTypes[4]
959+ mi := &file_ermite_merge_request_proto_msgTypes[5]
863960 if x != nil {
864961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
865962 if ms.LoadMessageInfo() == nil {
@@ -872,7 +969,7 @@ func (x *CreateMergeRequestRequest) ProtoReflect() protoreflect.Message {
872969
873970 // Deprecated: Use CreateMergeRequestRequest.ProtoReflect.Descriptor instead.
874971 func (*CreateMergeRequestRequest) Descriptor() ([]byte, []int) {
875- return file_ermite_merge_request_proto_rawDescGZIP(), []int{4}
972+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{5}
876973 }
877974
878975 func (x *CreateMergeRequestRequest) GetRepo() string {
@@ -921,7 +1018,7 @@ type CreateMergeRequestResponse struct {
9211018
9221019 func (x *CreateMergeRequestResponse) Reset() {
9231020 *x = CreateMergeRequestResponse{}
924- mi := &file_ermite_merge_request_proto_msgTypes[5]
1021+ mi := &file_ermite_merge_request_proto_msgTypes[6]
9251022 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9261023 ms.StoreMessageInfo(mi)
9271024 }
@@ -933,7 +1030,7 @@ func (x *CreateMergeRequestResponse) String() string {
9331030 func (*CreateMergeRequestResponse) ProtoMessage() {}
9341031
9351032 func (x *CreateMergeRequestResponse) ProtoReflect() protoreflect.Message {
936- mi := &file_ermite_merge_request_proto_msgTypes[5]
1033+ mi := &file_ermite_merge_request_proto_msgTypes[6]
9371034 if x != nil {
9381035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9391036 if ms.LoadMessageInfo() == nil {
@@ -946,7 +1043,7 @@ func (x *CreateMergeRequestResponse) ProtoReflect() protoreflect.Message {
9461043
9471044 // Deprecated: Use CreateMergeRequestResponse.ProtoReflect.Descriptor instead.
9481045 func (*CreateMergeRequestResponse) Descriptor() ([]byte, []int) {
949- return file_ermite_merge_request_proto_rawDescGZIP(), []int{5}
1046+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{6}
9501047 }
9511048
9521049 func (x *CreateMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -976,7 +1073,7 @@ type ListMergeRequestsRequest struct {
9761073
9771074 func (x *ListMergeRequestsRequest) Reset() {
9781075 *x = ListMergeRequestsRequest{}
979- mi := &file_ermite_merge_request_proto_msgTypes[6]
1076+ mi := &file_ermite_merge_request_proto_msgTypes[7]
9801077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9811078 ms.StoreMessageInfo(mi)
9821079 }
@@ -988,7 +1085,7 @@ func (x *ListMergeRequestsRequest) String() string {
9881085 func (*ListMergeRequestsRequest) ProtoMessage() {}
9891086
9901087 func (x *ListMergeRequestsRequest) ProtoReflect() protoreflect.Message {
991- mi := &file_ermite_merge_request_proto_msgTypes[6]
1088+ mi := &file_ermite_merge_request_proto_msgTypes[7]
9921089 if x != nil {
9931090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9941091 if ms.LoadMessageInfo() == nil {
@@ -1001,7 +1098,7 @@ func (x *ListMergeRequestsRequest) ProtoReflect() protoreflect.Message {
10011098
10021099 // Deprecated: Use ListMergeRequestsRequest.ProtoReflect.Descriptor instead.
10031100 func (*ListMergeRequestsRequest) Descriptor() ([]byte, []int) {
1004- return file_ermite_merge_request_proto_rawDescGZIP(), []int{6}
1101+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{7}
10051102 }
10061103
10071104 func (x *ListMergeRequestsRequest) GetRepo() string {
@@ -1046,7 +1143,7 @@ type ListMergeRequestsResponse struct {
10461143
10471144 func (x *ListMergeRequestsResponse) Reset() {
10481145 *x = ListMergeRequestsResponse{}
1049- mi := &file_ermite_merge_request_proto_msgTypes[7]
1146+ mi := &file_ermite_merge_request_proto_msgTypes[8]
10501147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10511148 ms.StoreMessageInfo(mi)
10521149 }
@@ -1058,7 +1155,7 @@ func (x *ListMergeRequestsResponse) String() string {
10581155 func (*ListMergeRequestsResponse) ProtoMessage() {}
10591156
10601157 func (x *ListMergeRequestsResponse) ProtoReflect() protoreflect.Message {
1061- mi := &file_ermite_merge_request_proto_msgTypes[7]
1158+ mi := &file_ermite_merge_request_proto_msgTypes[8]
10621159 if x != nil {
10631160 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10641161 if ms.LoadMessageInfo() == nil {
@@ -1071,7 +1168,7 @@ func (x *ListMergeRequestsResponse) ProtoReflect() protoreflect.Message {
10711168
10721169 // Deprecated: Use ListMergeRequestsResponse.ProtoReflect.Descriptor instead.
10731170 func (*ListMergeRequestsResponse) Descriptor() ([]byte, []int) {
1074- return file_ermite_merge_request_proto_rawDescGZIP(), []int{7}
1171+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{8}
10751172 }
10761173
10771174 func (x *ListMergeRequestsResponse) GetMergeRequests() []*MergeRequest {
@@ -1108,7 +1205,7 @@ type GetMergeRequestRequest struct {
11081205
11091206 func (x *GetMergeRequestRequest) Reset() {
11101207 *x = GetMergeRequestRequest{}
1111- mi := &file_ermite_merge_request_proto_msgTypes[8]
1208+ mi := &file_ermite_merge_request_proto_msgTypes[9]
11121209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11131210 ms.StoreMessageInfo(mi)
11141211 }
@@ -1120,7 +1217,7 @@ func (x *GetMergeRequestRequest) String() string {
11201217 func (*GetMergeRequestRequest) ProtoMessage() {}
11211218
11221219 func (x *GetMergeRequestRequest) ProtoReflect() protoreflect.Message {
1123- mi := &file_ermite_merge_request_proto_msgTypes[8]
1220+ mi := &file_ermite_merge_request_proto_msgTypes[9]
11241221 if x != nil {
11251222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11261223 if ms.LoadMessageInfo() == nil {
@@ -1133,7 +1230,7 @@ func (x *GetMergeRequestRequest) ProtoReflect() protoreflect.Message {
11331230
11341231 // Deprecated: Use GetMergeRequestRequest.ProtoReflect.Descriptor instead.
11351232 func (*GetMergeRequestRequest) Descriptor() ([]byte, []int) {
1136- return file_ermite_merge_request_proto_rawDescGZIP(), []int{8}
1233+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{9}
11371234 }
11381235
11391236 func (x *GetMergeRequestRequest) GetRepo() string {
@@ -1199,7 +1296,7 @@ type GetMergeRequestResponse struct {
11991296
12001297 func (x *GetMergeRequestResponse) Reset() {
12011298 *x = GetMergeRequestResponse{}
1202- mi := &file_ermite_merge_request_proto_msgTypes[9]
1299+ mi := &file_ermite_merge_request_proto_msgTypes[10]
12031300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12041301 ms.StoreMessageInfo(mi)
12051302 }
@@ -1211,7 +1308,7 @@ func (x *GetMergeRequestResponse) String() string {
12111308 func (*GetMergeRequestResponse) ProtoMessage() {}
12121309
12131310 func (x *GetMergeRequestResponse) ProtoReflect() protoreflect.Message {
1214- mi := &file_ermite_merge_request_proto_msgTypes[9]
1311+ mi := &file_ermite_merge_request_proto_msgTypes[10]
12151312 if x != nil {
12161313 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12171314 if ms.LoadMessageInfo() == nil {
@@ -1224,7 +1321,7 @@ func (x *GetMergeRequestResponse) ProtoReflect() protoreflect.Message {
12241321
12251322 // Deprecated: Use GetMergeRequestResponse.ProtoReflect.Descriptor instead.
12261323 func (*GetMergeRequestResponse) Descriptor() ([]byte, []int) {
1227- return file_ermite_merge_request_proto_rawDescGZIP(), []int{9}
1324+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{10}
12281325 }
12291326
12301327 func (x *GetMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -1333,7 +1430,7 @@ type AddCommentRequest struct {
13331430
13341431 func (x *AddCommentRequest) Reset() {
13351432 *x = AddCommentRequest{}
1336- mi := &file_ermite_merge_request_proto_msgTypes[10]
1433+ mi := &file_ermite_merge_request_proto_msgTypes[11]
13371434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13381435 ms.StoreMessageInfo(mi)
13391436 }
@@ -1345,7 +1442,7 @@ func (x *AddCommentRequest) String() string {
13451442 func (*AddCommentRequest) ProtoMessage() {}
13461443
13471444 func (x *AddCommentRequest) ProtoReflect() protoreflect.Message {
1348- mi := &file_ermite_merge_request_proto_msgTypes[10]
1445+ mi := &file_ermite_merge_request_proto_msgTypes[11]
13491446 if x != nil {
13501447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13511448 if ms.LoadMessageInfo() == nil {
@@ -1358,7 +1455,7 @@ func (x *AddCommentRequest) ProtoReflect() protoreflect.Message {
13581455
13591456 // Deprecated: Use AddCommentRequest.ProtoReflect.Descriptor instead.
13601457 func (*AddCommentRequest) Descriptor() ([]byte, []int) {
1361- return file_ermite_merge_request_proto_rawDescGZIP(), []int{10}
1458+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{11}
13621459 }
13631460
13641461 func (x *AddCommentRequest) GetRepo() string {
@@ -1435,7 +1532,7 @@ type AddCommentResponse struct {
14351532
14361533 func (x *AddCommentResponse) Reset() {
14371534 *x = AddCommentResponse{}
1438- mi := &file_ermite_merge_request_proto_msgTypes[11]
1535+ mi := &file_ermite_merge_request_proto_msgTypes[12]
14391536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14401537 ms.StoreMessageInfo(mi)
14411538 }
@@ -1447,7 +1544,7 @@ func (x *AddCommentResponse) String() string {
14471544 func (*AddCommentResponse) ProtoMessage() {}
14481545
14491546 func (x *AddCommentResponse) ProtoReflect() protoreflect.Message {
1450- mi := &file_ermite_merge_request_proto_msgTypes[11]
1547+ mi := &file_ermite_merge_request_proto_msgTypes[12]
14511548 if x != nil {
14521549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14531550 if ms.LoadMessageInfo() == nil {
@@ -1460,7 +1557,7 @@ func (x *AddCommentResponse) ProtoReflect() protoreflect.Message {
14601557
14611558 // Deprecated: Use AddCommentResponse.ProtoReflect.Descriptor instead.
14621559 func (*AddCommentResponse) Descriptor() ([]byte, []int) {
1463- return file_ermite_merge_request_proto_rawDescGZIP(), []int{11}
1560+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{12}
14641561 }
14651562
14661563 func (x *AddCommentResponse) GetComment() *Comment {
@@ -1488,7 +1585,7 @@ type EditCommentRequest struct {
14881585
14891586 func (x *EditCommentRequest) Reset() {
14901587 *x = EditCommentRequest{}
1491- mi := &file_ermite_merge_request_proto_msgTypes[12]
1588+ mi := &file_ermite_merge_request_proto_msgTypes[13]
14921589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14931590 ms.StoreMessageInfo(mi)
14941591 }
@@ -1500,7 +1597,7 @@ func (x *EditCommentRequest) String() string {
15001597 func (*EditCommentRequest) ProtoMessage() {}
15011598
15021599 func (x *EditCommentRequest) ProtoReflect() protoreflect.Message {
1503- mi := &file_ermite_merge_request_proto_msgTypes[12]
1600+ mi := &file_ermite_merge_request_proto_msgTypes[13]
15041601 if x != nil {
15051602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
15061603 if ms.LoadMessageInfo() == nil {
@@ -1513,7 +1610,7 @@ func (x *EditCommentRequest) ProtoReflect() protoreflect.Message {
15131610
15141611 // Deprecated: Use EditCommentRequest.ProtoReflect.Descriptor instead.
15151612 func (*EditCommentRequest) Descriptor() ([]byte, []int) {
1516- return file_ermite_merge_request_proto_rawDescGZIP(), []int{12}
1613+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{13}
15171614 }
15181615
15191616 func (x *EditCommentRequest) GetRepo() string {
@@ -1555,7 +1652,7 @@ type EditCommentResponse struct {
15551652
15561653 func (x *EditCommentResponse) Reset() {
15571654 *x = EditCommentResponse{}
1558- mi := &file_ermite_merge_request_proto_msgTypes[13]
1655+ mi := &file_ermite_merge_request_proto_msgTypes[14]
15591656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
15601657 ms.StoreMessageInfo(mi)
15611658 }
@@ -1567,7 +1664,7 @@ func (x *EditCommentResponse) String() string {
15671664 func (*EditCommentResponse) ProtoMessage() {}
15681665
15691666 func (x *EditCommentResponse) ProtoReflect() protoreflect.Message {
1570- mi := &file_ermite_merge_request_proto_msgTypes[13]
1667+ mi := &file_ermite_merge_request_proto_msgTypes[14]
15711668 if x != nil {
15721669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
15731670 if ms.LoadMessageInfo() == nil {
@@ -1580,7 +1677,7 @@ func (x *EditCommentResponse) ProtoReflect() protoreflect.Message {
15801677
15811678 // Deprecated: Use EditCommentResponse.ProtoReflect.Descriptor instead.
15821679 func (*EditCommentResponse) Descriptor() ([]byte, []int) {
1583- return file_ermite_merge_request_proto_rawDescGZIP(), []int{13}
1680+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{14}
15841681 }
15851682
15861683 func (x *EditCommentResponse) GetComment() *Comment {
@@ -1605,7 +1702,7 @@ type DeleteCommentRequest struct {
16051702
16061703 func (x *DeleteCommentRequest) Reset() {
16071704 *x = DeleteCommentRequest{}
1608- mi := &file_ermite_merge_request_proto_msgTypes[14]
1705+ mi := &file_ermite_merge_request_proto_msgTypes[15]
16091706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
16101707 ms.StoreMessageInfo(mi)
16111708 }
@@ -1617,7 +1714,7 @@ func (x *DeleteCommentRequest) String() string {
16171714 func (*DeleteCommentRequest) ProtoMessage() {}
16181715
16191716 func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {
1620- mi := &file_ermite_merge_request_proto_msgTypes[14]
1717+ mi := &file_ermite_merge_request_proto_msgTypes[15]
16211718 if x != nil {
16221719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
16231720 if ms.LoadMessageInfo() == nil {
@@ -1630,7 +1727,7 @@ func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {
16301727
16311728 // Deprecated: Use DeleteCommentRequest.ProtoReflect.Descriptor instead.
16321729 func (*DeleteCommentRequest) Descriptor() ([]byte, []int) {
1633- return file_ermite_merge_request_proto_rawDescGZIP(), []int{14}
1730+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{15}
16341731 }
16351732
16361733 func (x *DeleteCommentRequest) GetRepo() string {
@@ -1665,7 +1762,7 @@ type DeleteCommentResponse struct {
16651762
16661763 func (x *DeleteCommentResponse) Reset() {
16671764 *x = DeleteCommentResponse{}
1668- mi := &file_ermite_merge_request_proto_msgTypes[15]
1765+ mi := &file_ermite_merge_request_proto_msgTypes[16]
16691766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
16701767 ms.StoreMessageInfo(mi)
16711768 }
@@ -1677,7 +1774,7 @@ func (x *DeleteCommentResponse) String() string {
16771774 func (*DeleteCommentResponse) ProtoMessage() {}
16781775
16791776 func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {
1680- mi := &file_ermite_merge_request_proto_msgTypes[15]
1777+ mi := &file_ermite_merge_request_proto_msgTypes[16]
16811778 if x != nil {
16821779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
16831780 if ms.LoadMessageInfo() == nil {
@@ -1690,7 +1787,7 @@ func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {
16901787
16911788 // Deprecated: Use DeleteCommentResponse.ProtoReflect.Descriptor instead.
16921789 func (*DeleteCommentResponse) Descriptor() ([]byte, []int) {
1693- return file_ermite_merge_request_proto_rawDescGZIP(), []int{15}
1790+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{16}
16941791 }
16951792
16961793 func (x *DeleteCommentResponse) GetComment() *Comment {
@@ -1717,7 +1814,7 @@ type ResolveCommentRequest struct {
17171814
17181815 func (x *ResolveCommentRequest) Reset() {
17191816 *x = ResolveCommentRequest{}
1720- mi := &file_ermite_merge_request_proto_msgTypes[16]
1817+ mi := &file_ermite_merge_request_proto_msgTypes[17]
17211818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
17221819 ms.StoreMessageInfo(mi)
17231820 }
@@ -1729,7 +1826,7 @@ func (x *ResolveCommentRequest) String() string {
17291826 func (*ResolveCommentRequest) ProtoMessage() {}
17301827
17311828 func (x *ResolveCommentRequest) ProtoReflect() protoreflect.Message {
1732- mi := &file_ermite_merge_request_proto_msgTypes[16]
1829+ mi := &file_ermite_merge_request_proto_msgTypes[17]
17331830 if x != nil {
17341831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
17351832 if ms.LoadMessageInfo() == nil {
@@ -1742,7 +1839,7 @@ func (x *ResolveCommentRequest) ProtoReflect() protoreflect.Message {
17421839
17431840 // Deprecated: Use ResolveCommentRequest.ProtoReflect.Descriptor instead.
17441841 func (*ResolveCommentRequest) Descriptor() ([]byte, []int) {
1745- return file_ermite_merge_request_proto_rawDescGZIP(), []int{16}
1842+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{17}
17461843 }
17471844
17481845 func (x *ResolveCommentRequest) GetRepo() string {
@@ -1784,7 +1881,7 @@ type ResolveCommentResponse struct {
17841881
17851882 func (x *ResolveCommentResponse) Reset() {
17861883 *x = ResolveCommentResponse{}
1787- mi := &file_ermite_merge_request_proto_msgTypes[17]
1884+ mi := &file_ermite_merge_request_proto_msgTypes[18]
17881885 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
17891886 ms.StoreMessageInfo(mi)
17901887 }
@@ -1796,7 +1893,7 @@ func (x *ResolveCommentResponse) String() string {
17961893 func (*ResolveCommentResponse) ProtoMessage() {}
17971894
17981895 func (x *ResolveCommentResponse) ProtoReflect() protoreflect.Message {
1799- mi := &file_ermite_merge_request_proto_msgTypes[17]
1896+ mi := &file_ermite_merge_request_proto_msgTypes[18]
18001897 if x != nil {
18011898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
18021899 if ms.LoadMessageInfo() == nil {
@@ -1809,7 +1906,7 @@ func (x *ResolveCommentResponse) ProtoReflect() protoreflect.Message {
18091906
18101907 // Deprecated: Use ResolveCommentResponse.ProtoReflect.Descriptor instead.
18111908 func (*ResolveCommentResponse) Descriptor() ([]byte, []int) {
1812- return file_ermite_merge_request_proto_rawDescGZIP(), []int{17}
1909+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{18}
18131910 }
18141911
18151912 func (x *ResolveCommentResponse) GetComment() *Comment {
@@ -1832,7 +1929,7 @@ type CloseMergeRequestRequest struct {
18321929
18331930 func (x *CloseMergeRequestRequest) Reset() {
18341931 *x = CloseMergeRequestRequest{}
1835- mi := &file_ermite_merge_request_proto_msgTypes[18]
1932+ mi := &file_ermite_merge_request_proto_msgTypes[19]
18361933 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
18371934 ms.StoreMessageInfo(mi)
18381935 }
@@ -1844,7 +1941,7 @@ func (x *CloseMergeRequestRequest) String() string {
18441941 func (*CloseMergeRequestRequest) ProtoMessage() {}
18451942
18461943 func (x *CloseMergeRequestRequest) ProtoReflect() protoreflect.Message {
1847- mi := &file_ermite_merge_request_proto_msgTypes[18]
1944+ mi := &file_ermite_merge_request_proto_msgTypes[19]
18481945 if x != nil {
18491946 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
18501947 if ms.LoadMessageInfo() == nil {
@@ -1857,7 +1954,7 @@ func (x *CloseMergeRequestRequest) ProtoReflect() protoreflect.Message {
18571954
18581955 // Deprecated: Use CloseMergeRequestRequest.ProtoReflect.Descriptor instead.
18591956 func (*CloseMergeRequestRequest) Descriptor() ([]byte, []int) {
1860- return file_ermite_merge_request_proto_rawDescGZIP(), []int{18}
1957+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{19}
18611958 }
18621959
18631960 func (x *CloseMergeRequestRequest) GetRepo() string {
@@ -1885,7 +1982,7 @@ type CloseMergeRequestResponse struct {
18851982
18861983 func (x *CloseMergeRequestResponse) Reset() {
18871984 *x = CloseMergeRequestResponse{}
1888- mi := &file_ermite_merge_request_proto_msgTypes[19]
1985+ mi := &file_ermite_merge_request_proto_msgTypes[20]
18891986 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
18901987 ms.StoreMessageInfo(mi)
18911988 }
@@ -1897,7 +1994,7 @@ func (x *CloseMergeRequestResponse) String() string {
18971994 func (*CloseMergeRequestResponse) ProtoMessage() {}
18981995
18991996 func (x *CloseMergeRequestResponse) ProtoReflect() protoreflect.Message {
1900- mi := &file_ermite_merge_request_proto_msgTypes[19]
1997+ mi := &file_ermite_merge_request_proto_msgTypes[20]
19011998 if x != nil {
19021999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
19032000 if ms.LoadMessageInfo() == nil {
@@ -1910,7 +2007,7 @@ func (x *CloseMergeRequestResponse) ProtoReflect() protoreflect.Message {
19102007
19112008 // Deprecated: Use CloseMergeRequestResponse.ProtoReflect.Descriptor instead.
19122009 func (*CloseMergeRequestResponse) Descriptor() ([]byte, []int) {
1913- return file_ermite_merge_request_proto_rawDescGZIP(), []int{19}
2010+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{20}
19142011 }
19152012
19162013 func (x *CloseMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -1946,7 +2043,7 @@ type MergeMergeRequestRequest struct {
19462043
19472044 func (x *MergeMergeRequestRequest) Reset() {
19482045 *x = MergeMergeRequestRequest{}
1949- mi := &file_ermite_merge_request_proto_msgTypes[20]
2046+ mi := &file_ermite_merge_request_proto_msgTypes[21]
19502047 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
19512048 ms.StoreMessageInfo(mi)
19522049 }
@@ -1958,7 +2055,7 @@ func (x *MergeMergeRequestRequest) String() string {
19582055 func (*MergeMergeRequestRequest) ProtoMessage() {}
19592056
19602057 func (x *MergeMergeRequestRequest) ProtoReflect() protoreflect.Message {
1961- mi := &file_ermite_merge_request_proto_msgTypes[20]
2058+ mi := &file_ermite_merge_request_proto_msgTypes[21]
19622059 if x != nil {
19632060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
19642061 if ms.LoadMessageInfo() == nil {
@@ -1971,7 +2068,7 @@ func (x *MergeMergeRequestRequest) ProtoReflect() protoreflect.Message {
19712068
19722069 // Deprecated: Use MergeMergeRequestRequest.ProtoReflect.Descriptor instead.
19732070 func (*MergeMergeRequestRequest) Descriptor() ([]byte, []int) {
1974- return file_ermite_merge_request_proto_rawDescGZIP(), []int{20}
2071+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{21}
19752072 }
19762073
19772074 func (x *MergeMergeRequestRequest) GetRepo() string {
@@ -2028,7 +2125,7 @@ type MergeMergeRequestResponse struct {
20282125
20292126 func (x *MergeMergeRequestResponse) Reset() {
20302127 *x = MergeMergeRequestResponse{}
2031- mi := &file_ermite_merge_request_proto_msgTypes[21]
2128+ mi := &file_ermite_merge_request_proto_msgTypes[22]
20322129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
20332130 ms.StoreMessageInfo(mi)
20342131 }
@@ -2040,7 +2137,7 @@ func (x *MergeMergeRequestResponse) String() string {
20402137 func (*MergeMergeRequestResponse) ProtoMessage() {}
20412138
20422139 func (x *MergeMergeRequestResponse) ProtoReflect() protoreflect.Message {
2043- mi := &file_ermite_merge_request_proto_msgTypes[21]
2140+ mi := &file_ermite_merge_request_proto_msgTypes[22]
20442141 if x != nil {
20452142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
20462143 if ms.LoadMessageInfo() == nil {
@@ -2053,7 +2150,7 @@ func (x *MergeMergeRequestResponse) ProtoReflect() protoreflect.Message {
20532150
20542151 // Deprecated: Use MergeMergeRequestResponse.ProtoReflect.Descriptor instead.
20552152 func (*MergeMergeRequestResponse) Descriptor() ([]byte, []int) {
2056- return file_ermite_merge_request_proto_rawDescGZIP(), []int{21}
2153+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{22}
20572154 }
20582155
20592156 func (x *MergeMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -2070,6 +2167,230 @@ func (x *MergeMergeRequestResponse) GetSourceBranchDeleted() bool {
20702167 return false
20712168 }
20722169
2170+// EnableAutoMergeRequest describes the auto-merge to enable.
2171+type EnableAutoMergeRequest struct {
2172+ state protoimpl.MessageState `protogen:"open.v1"`
2173+ // Repo is the repository name.
2174+ Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2175+ // Number is the merge request number.
2176+ Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
2177+ // Mode is how to merge. MERGE_MODE_UNSPECIFIED means fast-forward. The mode
2178+ // must be in RepoSettings.allowed_merge_modes of the repository.
2179+ Mode MergeMode `protobuf:"varint,3,opt,name=mode,proto3,enum=ermite.MergeMode" json:"mode,omitempty"`
2180+ // HeadId is the full id of the commit the caller reviewed, that is the
2181+ // MergeRequest.head_id it was shown. Required. The auto-merge is enabled
2182+ // only if the source branch still points to it; failed_precondition (branch
2183+ // moved) otherwise.
2184+ HeadId string `protobuf:"bytes,4,opt,name=head_id,json=headId,proto3" json:"head_id,omitempty"`
2185+ unknownFields protoimpl.UnknownFields
2186+ sizeCache protoimpl.SizeCache
2187+}
2188+
2189+func (x *EnableAutoMergeRequest) Reset() {
2190+ *x = EnableAutoMergeRequest{}
2191+ mi := &file_ermite_merge_request_proto_msgTypes[23]
2192+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2193+ ms.StoreMessageInfo(mi)
2194+}
2195+
2196+func (x *EnableAutoMergeRequest) String() string {
2197+ return protoimpl.X.MessageStringOf(x)
2198+}
2199+
2200+func (*EnableAutoMergeRequest) ProtoMessage() {}
2201+
2202+func (x *EnableAutoMergeRequest) ProtoReflect() protoreflect.Message {
2203+ mi := &file_ermite_merge_request_proto_msgTypes[23]
2204+ if x != nil {
2205+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2206+ if ms.LoadMessageInfo() == nil {
2207+ ms.StoreMessageInfo(mi)
2208+ }
2209+ return ms
2210+ }
2211+ return mi.MessageOf(x)
2212+}
2213+
2214+// Deprecated: Use EnableAutoMergeRequest.ProtoReflect.Descriptor instead.
2215+func (*EnableAutoMergeRequest) Descriptor() ([]byte, []int) {
2216+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{23}
2217+}
2218+
2219+func (x *EnableAutoMergeRequest) GetRepo() string {
2220+ if x != nil {
2221+ return x.Repo
2222+ }
2223+ return ""
2224+}
2225+
2226+func (x *EnableAutoMergeRequest) GetNumber() int64 {
2227+ if x != nil {
2228+ return x.Number
2229+ }
2230+ return 0
2231+}
2232+
2233+func (x *EnableAutoMergeRequest) GetMode() MergeMode {
2234+ if x != nil {
2235+ return x.Mode
2236+ }
2237+ return MergeMode_MERGE_MODE_UNSPECIFIED
2238+}
2239+
2240+func (x *EnableAutoMergeRequest) GetHeadId() string {
2241+ if x != nil {
2242+ return x.HeadId
2243+ }
2244+ return ""
2245+}
2246+
2247+// EnableAutoMergeResponse holds the merge request with auto-merge enabled.
2248+type EnableAutoMergeResponse struct {
2249+ state protoimpl.MessageState `protogen:"open.v1"`
2250+ // MergeRequest is the merge request, with auto_merge set.
2251+ MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
2252+ unknownFields protoimpl.UnknownFields
2253+ sizeCache protoimpl.SizeCache
2254+}
2255+
2256+func (x *EnableAutoMergeResponse) Reset() {
2257+ *x = EnableAutoMergeResponse{}
2258+ mi := &file_ermite_merge_request_proto_msgTypes[24]
2259+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2260+ ms.StoreMessageInfo(mi)
2261+}
2262+
2263+func (x *EnableAutoMergeResponse) String() string {
2264+ return protoimpl.X.MessageStringOf(x)
2265+}
2266+
2267+func (*EnableAutoMergeResponse) ProtoMessage() {}
2268+
2269+func (x *EnableAutoMergeResponse) ProtoReflect() protoreflect.Message {
2270+ mi := &file_ermite_merge_request_proto_msgTypes[24]
2271+ if x != nil {
2272+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2273+ if ms.LoadMessageInfo() == nil {
2274+ ms.StoreMessageInfo(mi)
2275+ }
2276+ return ms
2277+ }
2278+ return mi.MessageOf(x)
2279+}
2280+
2281+// Deprecated: Use EnableAutoMergeResponse.ProtoReflect.Descriptor instead.
2282+func (*EnableAutoMergeResponse) Descriptor() ([]byte, []int) {
2283+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{24}
2284+}
2285+
2286+func (x *EnableAutoMergeResponse) GetMergeRequest() *MergeRequest {
2287+ if x != nil {
2288+ return x.MergeRequest
2289+ }
2290+ return nil
2291+}
2292+
2293+// CancelAutoMergeRequest names the merge request whose auto-merge to cancel.
2294+type CancelAutoMergeRequest struct {
2295+ state protoimpl.MessageState `protogen:"open.v1"`
2296+ // Repo is the repository name.
2297+ Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2298+ // Number is the merge request number.
2299+ Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
2300+ unknownFields protoimpl.UnknownFields
2301+ sizeCache protoimpl.SizeCache
2302+}
2303+
2304+func (x *CancelAutoMergeRequest) Reset() {
2305+ *x = CancelAutoMergeRequest{}
2306+ mi := &file_ermite_merge_request_proto_msgTypes[25]
2307+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2308+ ms.StoreMessageInfo(mi)
2309+}
2310+
2311+func (x *CancelAutoMergeRequest) String() string {
2312+ return protoimpl.X.MessageStringOf(x)
2313+}
2314+
2315+func (*CancelAutoMergeRequest) ProtoMessage() {}
2316+
2317+func (x *CancelAutoMergeRequest) ProtoReflect() protoreflect.Message {
2318+ mi := &file_ermite_merge_request_proto_msgTypes[25]
2319+ if x != nil {
2320+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2321+ if ms.LoadMessageInfo() == nil {
2322+ ms.StoreMessageInfo(mi)
2323+ }
2324+ return ms
2325+ }
2326+ return mi.MessageOf(x)
2327+}
2328+
2329+// Deprecated: Use CancelAutoMergeRequest.ProtoReflect.Descriptor instead.
2330+func (*CancelAutoMergeRequest) Descriptor() ([]byte, []int) {
2331+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{25}
2332+}
2333+
2334+func (x *CancelAutoMergeRequest) GetRepo() string {
2335+ if x != nil {
2336+ return x.Repo
2337+ }
2338+ return ""
2339+}
2340+
2341+func (x *CancelAutoMergeRequest) GetNumber() int64 {
2342+ if x != nil {
2343+ return x.Number
2344+ }
2345+ return 0
2346+}
2347+
2348+// CancelAutoMergeResponse holds the merge request after the cancellation.
2349+type CancelAutoMergeResponse struct {
2350+ state protoimpl.MessageState `protogen:"open.v1"`
2351+ // MergeRequest is the merge request, with auto_merge unset.
2352+ MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
2353+ unknownFields protoimpl.UnknownFields
2354+ sizeCache protoimpl.SizeCache
2355+}
2356+
2357+func (x *CancelAutoMergeResponse) Reset() {
2358+ *x = CancelAutoMergeResponse{}
2359+ mi := &file_ermite_merge_request_proto_msgTypes[26]
2360+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2361+ ms.StoreMessageInfo(mi)
2362+}
2363+
2364+func (x *CancelAutoMergeResponse) String() string {
2365+ return protoimpl.X.MessageStringOf(x)
2366+}
2367+
2368+func (*CancelAutoMergeResponse) ProtoMessage() {}
2369+
2370+func (x *CancelAutoMergeResponse) ProtoReflect() protoreflect.Message {
2371+ mi := &file_ermite_merge_request_proto_msgTypes[26]
2372+ if x != nil {
2373+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2374+ if ms.LoadMessageInfo() == nil {
2375+ ms.StoreMessageInfo(mi)
2376+ }
2377+ return ms
2378+ }
2379+ return mi.MessageOf(x)
2380+}
2381+
2382+// Deprecated: Use CancelAutoMergeResponse.ProtoReflect.Descriptor instead.
2383+func (*CancelAutoMergeResponse) Descriptor() ([]byte, []int) {
2384+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{26}
2385+}
2386+
2387+func (x *CancelAutoMergeResponse) GetMergeRequest() *MergeRequest {
2388+ if x != nil {
2389+ return x.MergeRequest
2390+ }
2391+ return nil
2392+}
2393+
20732394 // MarkReadRequest records a read position.
20742395 type MarkReadRequest struct {
20752396 state protoimpl.MessageState `protogen:"open.v1"`
@@ -2087,7 +2408,7 @@ type MarkReadRequest struct {
20872408
20882409 func (x *MarkReadRequest) Reset() {
20892410 *x = MarkReadRequest{}
2090- mi := &file_ermite_merge_request_proto_msgTypes[22]
2411+ mi := &file_ermite_merge_request_proto_msgTypes[27]
20912412 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
20922413 ms.StoreMessageInfo(mi)
20932414 }
@@ -2099,7 +2420,7 @@ func (x *MarkReadRequest) String() string {
20992420 func (*MarkReadRequest) ProtoMessage() {}
21002421
21012422 func (x *MarkReadRequest) ProtoReflect() protoreflect.Message {
2102- mi := &file_ermite_merge_request_proto_msgTypes[22]
2423+ mi := &file_ermite_merge_request_proto_msgTypes[27]
21032424 if x != nil {
21042425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
21052426 if ms.LoadMessageInfo() == nil {
@@ -2112,7 +2433,7 @@ func (x *MarkReadRequest) ProtoReflect() protoreflect.Message {
21122433
21132434 // Deprecated: Use MarkReadRequest.ProtoReflect.Descriptor instead.
21142435 func (*MarkReadRequest) Descriptor() ([]byte, []int) {
2115- return file_ermite_merge_request_proto_rawDescGZIP(), []int{22}
2436+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{27}
21162437 }
21172438
21182439 func (x *MarkReadRequest) GetRepo() string {
@@ -2145,7 +2466,7 @@ type MarkReadResponse struct {
21452466
21462467 func (x *MarkReadResponse) Reset() {
21472468 *x = MarkReadResponse{}
2148- mi := &file_ermite_merge_request_proto_msgTypes[23]
2469+ mi := &file_ermite_merge_request_proto_msgTypes[28]
21492470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
21502471 ms.StoreMessageInfo(mi)
21512472 }
@@ -2157,7 +2478,7 @@ func (x *MarkReadResponse) String() string {
21572478 func (*MarkReadResponse) ProtoMessage() {}
21582479
21592480 func (x *MarkReadResponse) ProtoReflect() protoreflect.Message {
2160- mi := &file_ermite_merge_request_proto_msgTypes[23]
2481+ mi := &file_ermite_merge_request_proto_msgTypes[28]
21612482 if x != nil {
21622483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
21632484 if ms.LoadMessageInfo() == nil {
@@ -2170,7 +2491,7 @@ func (x *MarkReadResponse) ProtoReflect() protoreflect.Message {
21702491
21712492 // Deprecated: Use MarkReadResponse.ProtoReflect.Descriptor instead.
21722493 func (*MarkReadResponse) Descriptor() ([]byte, []int) {
2173- return file_ermite_merge_request_proto_rawDescGZIP(), []int{23}
2494+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{28}
21742495 }
21752496
21762497 var File_ermite_merge_request_proto protoreflect.FileDescriptor
@@ -2187,7 +2508,14 @@ const file_ermite_merge_request_proto_rawDesc = "" +
21872508 "\x0econflict_paths\x18\x06 \x03(\tR\rconflictPaths\x128\n" +
21882509 "\x18conflict_paths_truncated\x18\a \x01(\bR\x16conflictPathsTruncated\x129\n" +
21892510 "\n" +
2190- "checked_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\"\xaa\x04\n" +
2511+ "checked_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\"\xa5\x01\n" +
2512+ "\tAutoMerge\x12%\n" +
2513+ "\x04mode\x18\x01 \x01(\x0e2\x11.ermite.MergeModeR\x04mode\x12\x17\n" +
2514+ "\ahead_id\x18\x02 \x01(\tR\x06headId\x12\x1d\n" +
2515+ "\n" +
2516+ "enabled_by\x18\x03 \x01(\tR\tenabledBy\x129\n" +
2517+ "\n" +
2518+ "enabled_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tenabledAt\"\xfd\x04\n" +
21912519 "\fMergeRequest\x12\x12\n" +
21922520 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
21932521 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x14\n" +
@@ -2206,7 +2534,11 @@ const file_ermite_merge_request_proto_rawDesc = "" +
22062534 "\x10merged_commit_id\x18\f \x01(\tR\x0emergedCommitId\x120\n" +
22072535 "\n" +
22082536 "merge_mode\x18\r \x01(\x0e2\x11.ermite.MergeModeR\tmergeMode\x128\n" +
2209- "\fmergeability\x18\x0e \x01(\v2\x14.ermite.MergeabilityR\fmergeability\"\xbf\x03\n" +
2537+ "\fmergeability\x18\x0e \x01(\v2\x14.ermite.MergeabilityR\fmergeability\x120\n" +
2538+ "\n" +
2539+ "auto_merge\x18\x0f \x01(\v2\x11.ermite.AutoMergeR\tautoMerge\x12\x1f\n" +
2540+ "\vauto_merged\x18\x10 \x01(\bR\n" +
2541+ "autoMerged\"\xbf\x03\n" +
22102542 "\aComment\x12\x0e\n" +
22112543 "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +
22122544 "\x06author\x18\x02 \x01(\tR\x06author\x12\x12\n" +
@@ -2318,7 +2650,19 @@ const file_ermite_merge_request_proto_rawDesc = "" +
23182650 "\x14delete_source_branch\x18\x05 \x01(\bR\x12deleteSourceBranch\"\x8a\x01\n" +
23192651 "\x19MergeMergeRequestResponse\x129\n" +
23202652 "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\x122\n" +
2321- "\x15source_branch_deleted\x18\x02 \x01(\bR\x13sourceBranchDeleted\"V\n" +
2653+ "\x15source_branch_deleted\x18\x02 \x01(\bR\x13sourceBranchDeleted\"\x84\x01\n" +
2654+ "\x16EnableAutoMergeRequest\x12\x12\n" +
2655+ "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2656+ "\x06number\x18\x02 \x01(\x03R\x06number\x12%\n" +
2657+ "\x04mode\x18\x03 \x01(\x0e2\x11.ermite.MergeModeR\x04mode\x12\x17\n" +
2658+ "\ahead_id\x18\x04 \x01(\tR\x06headId\"T\n" +
2659+ "\x17EnableAutoMergeResponse\x129\n" +
2660+ "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"D\n" +
2661+ "\x16CancelAutoMergeRequest\x12\x12\n" +
2662+ "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2663+ "\x06number\x18\x02 \x01(\x03R\x06number\"T\n" +
2664+ "\x17CancelAutoMergeResponse\x129\n" +
2665+ "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"V\n" +
23222666 "\x0fMarkReadRequest\x12\x12\n" +
23232667 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
23242668 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x17\n" +
@@ -2342,7 +2686,7 @@ const file_ermite_merge_request_proto_rawDesc = "" +
23422686 "\x1bMERGEABILITY_STATE_CHECKING\x10\x01\x12!\n" +
23432687 "\x1dMERGEABILITY_STATE_UP_TO_DATE\x10\x02\x12\x1d\n" +
23442688 "\x19MERGEABILITY_STATE_BEHIND\x10\x03\x12\x1f\n" +
2345- "\x1bMERGEABILITY_STATE_CONFLICT\x10\x042\xbf\x06\n" +
2689+ "\x1bMERGEABILITY_STATE_CONFLICT\x10\x042\xe7\a\n" +
23462690 "\x13MergeRequestService\x12[\n" +
23472691 "\x12CreateMergeRequest\x12!.ermite.CreateMergeRequestRequest\x1a\".ermite.CreateMergeRequestResponse\x12X\n" +
23482692 "\x11ListMergeRequests\x12 .ermite.ListMergeRequestsRequest\x1a!.ermite.ListMergeRequestsResponse\x12R\n" +
@@ -2353,7 +2697,9 @@ const file_ermite_merge_request_proto_rawDesc = "" +
23532697 "\rDeleteComment\x12\x1c.ermite.DeleteCommentRequest\x1a\x1d.ermite.DeleteCommentResponse\x12O\n" +
23542698 "\x0eResolveComment\x12\x1d.ermite.ResolveCommentRequest\x1a\x1e.ermite.ResolveCommentResponse\x12X\n" +
23552699 "\x11CloseMergeRequest\x12 .ermite.CloseMergeRequestRequest\x1a!.ermite.CloseMergeRequestResponse\x12X\n" +
2356- "\x11MergeMergeRequest\x12 .ermite.MergeMergeRequestRequest\x1a!.ermite.MergeMergeRequestResponse\x12=\n" +
2700+ "\x11MergeMergeRequest\x12 .ermite.MergeMergeRequestRequest\x1a!.ermite.MergeMergeRequestResponse\x12R\n" +
2701+ "\x0fEnableAutoMerge\x12\x1e.ermite.EnableAutoMergeRequest\x1a\x1f.ermite.EnableAutoMergeResponse\x12R\n" +
2702+ "\x0fCancelAutoMerge\x12\x1e.ermite.CancelAutoMergeRequest\x1a\x1f.ermite.CancelAutoMergeResponse\x12=\n" +
23572703 "\bMarkRead\x12\x17.ermite.MarkReadRequest\x1a\x18.ermite.MarkReadResponseBx\n" +
23582704 "\n" +
23592705 "com.ermiteB\x11MergeRequestProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
@@ -2371,99 +2717,114 @@ func file_ermite_merge_request_proto_rawDescGZIP() []byte {
23712717 }
23722718
23732719 var file_ermite_merge_request_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2374-var file_ermite_merge_request_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
2720+var file_ermite_merge_request_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
23752721 var file_ermite_merge_request_proto_goTypes = []any{
23762722 (MergeRequestState)(0), // 0: ermite.MergeRequestState
23772723 (DiffSide)(0), // 1: ermite.DiffSide
23782724 (Verdict)(0), // 2: ermite.Verdict
23792725 (MergeabilityState)(0), // 3: ermite.MergeabilityState
23802726 (*Mergeability)(nil), // 4: ermite.Mergeability
2381- (*MergeRequest)(nil), // 5: ermite.MergeRequest
2382- (*Comment)(nil), // 6: ermite.Comment
2383- (*AuthorVerdict)(nil), // 7: ermite.AuthorVerdict
2384- (*CreateMergeRequestRequest)(nil), // 8: ermite.CreateMergeRequestRequest
2385- (*CreateMergeRequestResponse)(nil), // 9: ermite.CreateMergeRequestResponse
2386- (*ListMergeRequestsRequest)(nil), // 10: ermite.ListMergeRequestsRequest
2387- (*ListMergeRequestsResponse)(nil), // 11: ermite.ListMergeRequestsResponse
2388- (*GetMergeRequestRequest)(nil), // 12: ermite.GetMergeRequestRequest
2389- (*GetMergeRequestResponse)(nil), // 13: ermite.GetMergeRequestResponse
2390- (*AddCommentRequest)(nil), // 14: ermite.AddCommentRequest
2391- (*AddCommentResponse)(nil), // 15: ermite.AddCommentResponse
2392- (*EditCommentRequest)(nil), // 16: ermite.EditCommentRequest
2393- (*EditCommentResponse)(nil), // 17: ermite.EditCommentResponse
2394- (*DeleteCommentRequest)(nil), // 18: ermite.DeleteCommentRequest
2395- (*DeleteCommentResponse)(nil), // 19: ermite.DeleteCommentResponse
2396- (*ResolveCommentRequest)(nil), // 20: ermite.ResolveCommentRequest
2397- (*ResolveCommentResponse)(nil), // 21: ermite.ResolveCommentResponse
2398- (*CloseMergeRequestRequest)(nil), // 22: ermite.CloseMergeRequestRequest
2399- (*CloseMergeRequestResponse)(nil), // 23: ermite.CloseMergeRequestResponse
2400- (*MergeMergeRequestRequest)(nil), // 24: ermite.MergeMergeRequestRequest
2401- (*MergeMergeRequestResponse)(nil), // 25: ermite.MergeMergeRequestResponse
2402- (*MarkReadRequest)(nil), // 26: ermite.MarkReadRequest
2403- (*MarkReadResponse)(nil), // 27: ermite.MarkReadResponse
2404- (*timestamppb.Timestamp)(nil), // 28: google.protobuf.Timestamp
2405- (MergeMode)(0), // 29: ermite.MergeMode
2406- (*Commit)(nil), // 30: ermite.Commit
2407- (*DiffStats)(nil), // 31: ermite.DiffStats
2408- (*Diff)(nil), // 32: ermite.Diff
2727+ (*AutoMerge)(nil), // 5: ermite.AutoMerge
2728+ (*MergeRequest)(nil), // 6: ermite.MergeRequest
2729+ (*Comment)(nil), // 7: ermite.Comment
2730+ (*AuthorVerdict)(nil), // 8: ermite.AuthorVerdict
2731+ (*CreateMergeRequestRequest)(nil), // 9: ermite.CreateMergeRequestRequest
2732+ (*CreateMergeRequestResponse)(nil), // 10: ermite.CreateMergeRequestResponse
2733+ (*ListMergeRequestsRequest)(nil), // 11: ermite.ListMergeRequestsRequest
2734+ (*ListMergeRequestsResponse)(nil), // 12: ermite.ListMergeRequestsResponse
2735+ (*GetMergeRequestRequest)(nil), // 13: ermite.GetMergeRequestRequest
2736+ (*GetMergeRequestResponse)(nil), // 14: ermite.GetMergeRequestResponse
2737+ (*AddCommentRequest)(nil), // 15: ermite.AddCommentRequest
2738+ (*AddCommentResponse)(nil), // 16: ermite.AddCommentResponse
2739+ (*EditCommentRequest)(nil), // 17: ermite.EditCommentRequest
2740+ (*EditCommentResponse)(nil), // 18: ermite.EditCommentResponse
2741+ (*DeleteCommentRequest)(nil), // 19: ermite.DeleteCommentRequest
2742+ (*DeleteCommentResponse)(nil), // 20: ermite.DeleteCommentResponse
2743+ (*ResolveCommentRequest)(nil), // 21: ermite.ResolveCommentRequest
2744+ (*ResolveCommentResponse)(nil), // 22: ermite.ResolveCommentResponse
2745+ (*CloseMergeRequestRequest)(nil), // 23: ermite.CloseMergeRequestRequest
2746+ (*CloseMergeRequestResponse)(nil), // 24: ermite.CloseMergeRequestResponse
2747+ (*MergeMergeRequestRequest)(nil), // 25: ermite.MergeMergeRequestRequest
2748+ (*MergeMergeRequestResponse)(nil), // 26: ermite.MergeMergeRequestResponse
2749+ (*EnableAutoMergeRequest)(nil), // 27: ermite.EnableAutoMergeRequest
2750+ (*EnableAutoMergeResponse)(nil), // 28: ermite.EnableAutoMergeResponse
2751+ (*CancelAutoMergeRequest)(nil), // 29: ermite.CancelAutoMergeRequest
2752+ (*CancelAutoMergeResponse)(nil), // 30: ermite.CancelAutoMergeResponse
2753+ (*MarkReadRequest)(nil), // 31: ermite.MarkReadRequest
2754+ (*MarkReadResponse)(nil), // 32: ermite.MarkReadResponse
2755+ (*timestamppb.Timestamp)(nil), // 33: google.protobuf.Timestamp
2756+ (MergeMode)(0), // 34: ermite.MergeMode
2757+ (*Commit)(nil), // 35: ermite.Commit
2758+ (*DiffStats)(nil), // 36: ermite.DiffStats
2759+ (*Diff)(nil), // 37: ermite.Diff
24092760 }
24102761 var file_ermite_merge_request_proto_depIdxs = []int32{
24112762 3, // 0: ermite.Mergeability.state:type_name -> ermite.MergeabilityState
2412- 28, // 1: ermite.Mergeability.checked_at:type_name -> google.protobuf.Timestamp
2413- 0, // 2: ermite.MergeRequest.state:type_name -> ermite.MergeRequestState
2414- 28, // 3: ermite.MergeRequest.created_at:type_name -> google.protobuf.Timestamp
2415- 28, // 4: ermite.MergeRequest.updated_at:type_name -> google.protobuf.Timestamp
2416- 29, // 5: ermite.MergeRequest.merge_mode:type_name -> ermite.MergeMode
2417- 4, // 6: ermite.MergeRequest.mergeability:type_name -> ermite.Mergeability
2418- 1, // 7: ermite.Comment.side:type_name -> ermite.DiffSide
2419- 28, // 8: ermite.Comment.created_at:type_name -> google.protobuf.Timestamp
2420- 2, // 9: ermite.Comment.verdict:type_name -> ermite.Verdict
2421- 28, // 10: ermite.Comment.edited_at:type_name -> google.protobuf.Timestamp
2422- 2, // 11: ermite.AuthorVerdict.verdict:type_name -> ermite.Verdict
2423- 28, // 12: ermite.AuthorVerdict.created_at:type_name -> google.protobuf.Timestamp
2424- 5, // 13: ermite.CreateMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2425- 0, // 14: ermite.ListMergeRequestsRequest.state:type_name -> ermite.MergeRequestState
2426- 5, // 15: ermite.ListMergeRequestsResponse.merge_requests:type_name -> ermite.MergeRequest
2427- 5, // 16: ermite.GetMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2428- 30, // 17: ermite.GetMergeRequestResponse.commits:type_name -> ermite.Commit
2429- 31, // 18: ermite.GetMergeRequestResponse.stats:type_name -> ermite.DiffStats
2430- 32, // 19: ermite.GetMergeRequestResponse.diff:type_name -> ermite.Diff
2431- 6, // 20: ermite.GetMergeRequestResponse.comments:type_name -> ermite.Comment
2432- 7, // 21: ermite.GetMergeRequestResponse.verdicts:type_name -> ermite.AuthorVerdict
2433- 1, // 22: ermite.AddCommentRequest.side:type_name -> ermite.DiffSide
2434- 2, // 23: ermite.AddCommentRequest.verdict:type_name -> ermite.Verdict
2435- 6, // 24: ermite.AddCommentResponse.comment:type_name -> ermite.Comment
2436- 6, // 25: ermite.EditCommentResponse.comment:type_name -> ermite.Comment
2437- 6, // 26: ermite.DeleteCommentResponse.comment:type_name -> ermite.Comment
2438- 6, // 27: ermite.ResolveCommentResponse.comment:type_name -> ermite.Comment
2439- 5, // 28: ermite.CloseMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2440- 29, // 29: ermite.MergeMergeRequestRequest.mode:type_name -> ermite.MergeMode
2441- 5, // 30: ermite.MergeMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2442- 8, // 31: ermite.MergeRequestService.CreateMergeRequest:input_type -> ermite.CreateMergeRequestRequest
2443- 10, // 32: ermite.MergeRequestService.ListMergeRequests:input_type -> ermite.ListMergeRequestsRequest
2444- 12, // 33: ermite.MergeRequestService.GetMergeRequest:input_type -> ermite.GetMergeRequestRequest
2445- 14, // 34: ermite.MergeRequestService.AddComment:input_type -> ermite.AddCommentRequest
2446- 16, // 35: ermite.MergeRequestService.EditComment:input_type -> ermite.EditCommentRequest
2447- 18, // 36: ermite.MergeRequestService.DeleteComment:input_type -> ermite.DeleteCommentRequest
2448- 20, // 37: ermite.MergeRequestService.ResolveComment:input_type -> ermite.ResolveCommentRequest
2449- 22, // 38: ermite.MergeRequestService.CloseMergeRequest:input_type -> ermite.CloseMergeRequestRequest
2450- 24, // 39: ermite.MergeRequestService.MergeMergeRequest:input_type -> ermite.MergeMergeRequestRequest
2451- 26, // 40: ermite.MergeRequestService.MarkRead:input_type -> ermite.MarkReadRequest
2452- 9, // 41: ermite.MergeRequestService.CreateMergeRequest:output_type -> ermite.CreateMergeRequestResponse
2453- 11, // 42: ermite.MergeRequestService.ListMergeRequests:output_type -> ermite.ListMergeRequestsResponse
2454- 13, // 43: ermite.MergeRequestService.GetMergeRequest:output_type -> ermite.GetMergeRequestResponse
2455- 15, // 44: ermite.MergeRequestService.AddComment:output_type -> ermite.AddCommentResponse
2456- 17, // 45: ermite.MergeRequestService.EditComment:output_type -> ermite.EditCommentResponse
2457- 19, // 46: ermite.MergeRequestService.DeleteComment:output_type -> ermite.DeleteCommentResponse
2458- 21, // 47: ermite.MergeRequestService.ResolveComment:output_type -> ermite.ResolveCommentResponse
2459- 23, // 48: ermite.MergeRequestService.CloseMergeRequest:output_type -> ermite.CloseMergeRequestResponse
2460- 25, // 49: ermite.MergeRequestService.MergeMergeRequest:output_type -> ermite.MergeMergeRequestResponse
2461- 27, // 50: ermite.MergeRequestService.MarkRead:output_type -> ermite.MarkReadResponse
2462- 41, // [41:51] is the sub-list for method output_type
2463- 31, // [31:41] is the sub-list for method input_type
2464- 31, // [31:31] is the sub-list for extension type_name
2465- 31, // [31:31] is the sub-list for extension extendee
2466- 0, // [0:31] is the sub-list for field type_name
2763+ 33, // 1: ermite.Mergeability.checked_at:type_name -> google.protobuf.Timestamp
2764+ 34, // 2: ermite.AutoMerge.mode:type_name -> ermite.MergeMode
2765+ 33, // 3: ermite.AutoMerge.enabled_at:type_name -> google.protobuf.Timestamp
2766+ 0, // 4: ermite.MergeRequest.state:type_name -> ermite.MergeRequestState
2767+ 33, // 5: ermite.MergeRequest.created_at:type_name -> google.protobuf.Timestamp
2768+ 33, // 6: ermite.MergeRequest.updated_at:type_name -> google.protobuf.Timestamp
2769+ 34, // 7: ermite.MergeRequest.merge_mode:type_name -> ermite.MergeMode
2770+ 4, // 8: ermite.MergeRequest.mergeability:type_name -> ermite.Mergeability
2771+ 5, // 9: ermite.MergeRequest.auto_merge:type_name -> ermite.AutoMerge
2772+ 1, // 10: ermite.Comment.side:type_name -> ermite.DiffSide
2773+ 33, // 11: ermite.Comment.created_at:type_name -> google.protobuf.Timestamp
2774+ 2, // 12: ermite.Comment.verdict:type_name -> ermite.Verdict
2775+ 33, // 13: ermite.Comment.edited_at:type_name -> google.protobuf.Timestamp
2776+ 2, // 14: ermite.AuthorVerdict.verdict:type_name -> ermite.Verdict
2777+ 33, // 15: ermite.AuthorVerdict.created_at:type_name -> google.protobuf.Timestamp
2778+ 6, // 16: ermite.CreateMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2779+ 0, // 17: ermite.ListMergeRequestsRequest.state:type_name -> ermite.MergeRequestState
2780+ 6, // 18: ermite.ListMergeRequestsResponse.merge_requests:type_name -> ermite.MergeRequest
2781+ 6, // 19: ermite.GetMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2782+ 35, // 20: ermite.GetMergeRequestResponse.commits:type_name -> ermite.Commit
2783+ 36, // 21: ermite.GetMergeRequestResponse.stats:type_name -> ermite.DiffStats
2784+ 37, // 22: ermite.GetMergeRequestResponse.diff:type_name -> ermite.Diff
2785+ 7, // 23: ermite.GetMergeRequestResponse.comments:type_name -> ermite.Comment
2786+ 8, // 24: ermite.GetMergeRequestResponse.verdicts:type_name -> ermite.AuthorVerdict
2787+ 1, // 25: ermite.AddCommentRequest.side:type_name -> ermite.DiffSide
2788+ 2, // 26: ermite.AddCommentRequest.verdict:type_name -> ermite.Verdict
2789+ 7, // 27: ermite.AddCommentResponse.comment:type_name -> ermite.Comment
2790+ 7, // 28: ermite.EditCommentResponse.comment:type_name -> ermite.Comment
2791+ 7, // 29: ermite.DeleteCommentResponse.comment:type_name -> ermite.Comment
2792+ 7, // 30: ermite.ResolveCommentResponse.comment:type_name -> ermite.Comment
2793+ 6, // 31: ermite.CloseMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2794+ 34, // 32: ermite.MergeMergeRequestRequest.mode:type_name -> ermite.MergeMode
2795+ 6, // 33: ermite.MergeMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2796+ 34, // 34: ermite.EnableAutoMergeRequest.mode:type_name -> ermite.MergeMode
2797+ 6, // 35: ermite.EnableAutoMergeResponse.merge_request:type_name -> ermite.MergeRequest
2798+ 6, // 36: ermite.CancelAutoMergeResponse.merge_request:type_name -> ermite.MergeRequest
2799+ 9, // 37: ermite.MergeRequestService.CreateMergeRequest:input_type -> ermite.CreateMergeRequestRequest
2800+ 11, // 38: ermite.MergeRequestService.ListMergeRequests:input_type -> ermite.ListMergeRequestsRequest
2801+ 13, // 39: ermite.MergeRequestService.GetMergeRequest:input_type -> ermite.GetMergeRequestRequest
2802+ 15, // 40: ermite.MergeRequestService.AddComment:input_type -> ermite.AddCommentRequest
2803+ 17, // 41: ermite.MergeRequestService.EditComment:input_type -> ermite.EditCommentRequest
2804+ 19, // 42: ermite.MergeRequestService.DeleteComment:input_type -> ermite.DeleteCommentRequest
2805+ 21, // 43: ermite.MergeRequestService.ResolveComment:input_type -> ermite.ResolveCommentRequest
2806+ 23, // 44: ermite.MergeRequestService.CloseMergeRequest:input_type -> ermite.CloseMergeRequestRequest
2807+ 25, // 45: ermite.MergeRequestService.MergeMergeRequest:input_type -> ermite.MergeMergeRequestRequest
2808+ 27, // 46: ermite.MergeRequestService.EnableAutoMerge:input_type -> ermite.EnableAutoMergeRequest
2809+ 29, // 47: ermite.MergeRequestService.CancelAutoMerge:input_type -> ermite.CancelAutoMergeRequest
2810+ 31, // 48: ermite.MergeRequestService.MarkRead:input_type -> ermite.MarkReadRequest
2811+ 10, // 49: ermite.MergeRequestService.CreateMergeRequest:output_type -> ermite.CreateMergeRequestResponse
2812+ 12, // 50: ermite.MergeRequestService.ListMergeRequests:output_type -> ermite.ListMergeRequestsResponse
2813+ 14, // 51: ermite.MergeRequestService.GetMergeRequest:output_type -> ermite.GetMergeRequestResponse
2814+ 16, // 52: ermite.MergeRequestService.AddComment:output_type -> ermite.AddCommentResponse
2815+ 18, // 53: ermite.MergeRequestService.EditComment:output_type -> ermite.EditCommentResponse
2816+ 20, // 54: ermite.MergeRequestService.DeleteComment:output_type -> ermite.DeleteCommentResponse
2817+ 22, // 55: ermite.MergeRequestService.ResolveComment:output_type -> ermite.ResolveCommentResponse
2818+ 24, // 56: ermite.MergeRequestService.CloseMergeRequest:output_type -> ermite.CloseMergeRequestResponse
2819+ 26, // 57: ermite.MergeRequestService.MergeMergeRequest:output_type -> ermite.MergeMergeRequestResponse
2820+ 28, // 58: ermite.MergeRequestService.EnableAutoMerge:output_type -> ermite.EnableAutoMergeResponse
2821+ 30, // 59: ermite.MergeRequestService.CancelAutoMerge:output_type -> ermite.CancelAutoMergeResponse
2822+ 32, // 60: ermite.MergeRequestService.MarkRead:output_type -> ermite.MarkReadResponse
2823+ 49, // [49:61] is the sub-list for method output_type
2824+ 37, // [37:49] is the sub-list for method input_type
2825+ 37, // [37:37] is the sub-list for extension type_name
2826+ 37, // [37:37] is the sub-list for extension extendee
2827+ 0, // [0:37] is the sub-list for field type_name
24672828 }
24682829
24692830 func init() { file_ermite_merge_request_proto_init() }
@@ -2479,7 +2840,7 @@ func file_ermite_merge_request_proto_init() {
24792840 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
24802841 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_merge_request_proto_rawDesc), len(file_ermite_merge_request_proto_rawDesc)),
24812842 NumEnums: 4,
2482- NumMessages: 24,
2843+ NumMessages: 29,
24832844 NumExtensions: 0,
24842845 NumServices: 1,
24852846 },
@@ -371,6 +371,82 @@ func (x *Mergeability) GetCheckedAt() *timestamppb.Timestamp {
371 return nil371 return nil
372 }372 }
373 373
374+// AutoMerge is the pending auto-merge of an open merge request: the server
375+// merges it by itself once its checks pass. Set only by servers with the
376+// "merge_requests.auto_merge" feature.
377+type AutoMerge struct {
378+ state protoimpl.MessageState `protogen:"open.v1"`
379+ // Mode is the merge mode used. Never MERGE_MODE_UNSPECIFIED.
380+ Mode MergeMode `protobuf:"varint,1,opt,name=mode,proto3,enum=ermite.MergeMode" json:"mode,omitempty"`
381+ // HeadId is the head the auto-merge was enabled for. A new head cancels the
382+ // auto-merge.
383+ HeadId string `protobuf:"bytes,2,opt,name=head_id,json=headId,proto3" json:"head_id,omitempty"`
384+ // EnabledBy names who enabled the auto-merge, like MergeRequest.author.
385+ EnabledBy string `protobuf:"bytes,3,opt,name=enabled_by,json=enabledBy,proto3" json:"enabled_by,omitempty"`
386+ // EnabledAt is when the auto-merge was enabled.
387+ EnabledAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=enabled_at,json=enabledAt,proto3" json:"enabled_at,omitempty"`
388+ unknownFields protoimpl.UnknownFields
389+ sizeCache protoimpl.SizeCache
390+}
391+
392+func (x *AutoMerge) Reset() {
393+ *x = AutoMerge{}
394+ mi := &file_ermite_merge_request_proto_msgTypes[1]
395+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
396+ ms.StoreMessageInfo(mi)
397+}
398+
399+func (x *AutoMerge) String() string {
400+ return protoimpl.X.MessageStringOf(x)
401+}
402+
403+func (*AutoMerge) ProtoMessage() {}
404+
405+func (x *AutoMerge) ProtoReflect() protoreflect.Message {
406+ mi := &file_ermite_merge_request_proto_msgTypes[1]
407+ if x != nil {
408+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
409+ if ms.LoadMessageInfo() == nil {
410+ ms.StoreMessageInfo(mi)
411+ }
412+ return ms
413+ }
414+ return mi.MessageOf(x)
415+}
416+
417+// Deprecated: Use AutoMerge.ProtoReflect.Descriptor instead.
418+func (*AutoMerge) Descriptor() ([]byte, []int) {
419+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{1}
420+}
421+
422+func (x *AutoMerge) GetMode() MergeMode {
423+ if x != nil {
424+ return x.Mode
425+ }
426+ return MergeMode_MERGE_MODE_UNSPECIFIED
427+}
428+
429+func (x *AutoMerge) GetHeadId() string {
430+ if x != nil {
431+ return x.HeadId
432+ }
433+ return ""
434+}
435+
436+func (x *AutoMerge) GetEnabledBy() string {
437+ if x != nil {
438+ return x.EnabledBy
439+ }
440+ return ""
441+}
442+
443+func (x *AutoMerge) GetEnabledAt() *timestamppb.Timestamp {
444+ if x != nil {
445+ return x.EnabledAt
446+ }
447+ return nil
448+}
449+
374 // MergeRequest asks to merge one branch of a repository into another branch450 // MergeRequest asks to merge one branch of a repository into another branch
375 // of the same repository. It is about a branch, not about who wrote it.451 // of the same repository. It is about a branch, not about who wrote it.
376 type MergeRequest struct {452 type MergeRequest struct {
@@ -421,14 +497,21 @@ type MergeRequest struct {
421 // a result for the current tips; never set once merged or closed. It is a497 // a result for the current tips; never set once merged or closed. It is a
422 // hint: MergeMergeRequest checks again. Set only by servers with the498 // hint: MergeMergeRequest checks again. Set only by servers with the
423 // "merge_requests.mergeability" feature.499 // "merge_requests.mergeability" feature.
424- Mergeability *Mergeability `protobuf:"bytes,14,opt,name=mergeability,proto3" json:"mergeability,omitempty"`500+ Mergeability *Mergeability `protobuf:"bytes,14,opt,name=mergeability,proto3" json:"mergeability,omitempty"`
501+ // AutoMerge is the pending auto-merge. Set only while the merge request is
502+ // OPEN and auto-merge is enabled; unset once merged or closed. Set only by
503+ // servers with the "merge_requests.auto_merge" feature.
504+ AutoMerge *AutoMerge `protobuf:"bytes,15,opt,name=auto_merge,json=autoMerge,proto3" json:"auto_merge,omitempty"`
505+ // AutoMerged is true when the server merged the merge request by auto-merge.
506+ // Always false unless state is MERGED.
507+ AutoMerged bool `protobuf:"varint,16,opt,name=auto_merged,json=autoMerged,proto3" json:"auto_merged,omitempty"`
425 unknownFields protoimpl.UnknownFields508 unknownFields protoimpl.UnknownFields
426 sizeCache protoimpl.SizeCache509 sizeCache protoimpl.SizeCache
427 }510 }
428 511
429 func (x *MergeRequest) Reset() {512 func (x *MergeRequest) Reset() {
430 *x = MergeRequest{}513 *x = MergeRequest{}
431- mi := &file_ermite_merge_request_proto_msgTypes[1]514+ mi := &file_ermite_merge_request_proto_msgTypes[2]
432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
433 ms.StoreMessageInfo(mi)516 ms.StoreMessageInfo(mi)
434 }517 }
@@ -440,7 +523,7 @@ func (x *MergeRequest) String() string {
440 func (*MergeRequest) ProtoMessage() {}523 func (*MergeRequest) ProtoMessage() {}
441 524
442 func (x *MergeRequest) ProtoReflect() protoreflect.Message {525 func (x *MergeRequest) ProtoReflect() protoreflect.Message {
443- mi := &file_ermite_merge_request_proto_msgTypes[1]526+ mi := &file_ermite_merge_request_proto_msgTypes[2]
444 if x != nil {527 if x != nil {
445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446 if ms.LoadMessageInfo() == nil {529 if ms.LoadMessageInfo() == nil {
@@ -453,7 +536,7 @@ func (x *MergeRequest) ProtoReflect() protoreflect.Message {
453 536
454 // Deprecated: Use MergeRequest.ProtoReflect.Descriptor instead.537 // Deprecated: Use MergeRequest.ProtoReflect.Descriptor instead.
455 func (*MergeRequest) Descriptor() ([]byte, []int) {538 func (*MergeRequest) Descriptor() ([]byte, []int) {
456- return file_ermite_merge_request_proto_rawDescGZIP(), []int{1}539+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{2}
457 }540 }
458 541
459 func (x *MergeRequest) GetRepo() string {542 func (x *MergeRequest) GetRepo() string {
@@ -554,6 +637,20 @@ func (x *MergeRequest) GetMergeability() *Mergeability {
554 return nil637 return nil
555 }638 }
556 639
640+func (x *MergeRequest) GetAutoMerge() *AutoMerge {
641+ if x != nil {
642+ return x.AutoMerge
643+ }
644+ return nil
645+}
646+
647+func (x *MergeRequest) GetAutoMerged() bool {
648+ if x != nil {
649+ return x.AutoMerged
650+ }
651+ return false
652+}
653+
557 // Comment is a note on a merge request, either general or attached to a line654 // Comment is a note on a merge request, either general or attached to a line
558 // of its diff.655 // of its diff.
559 type Comment struct {656 type Comment struct {
@@ -606,7 +703,7 @@ type Comment struct {
606 703
607 func (x *Comment) Reset() {704 func (x *Comment) Reset() {
608 *x = Comment{}705 *x = Comment{}
609- mi := &file_ermite_merge_request_proto_msgTypes[2]706+ mi := &file_ermite_merge_request_proto_msgTypes[3]
610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
611 ms.StoreMessageInfo(mi)708 ms.StoreMessageInfo(mi)
612 }709 }
@@ -618,7 +715,7 @@ func (x *Comment) String() string {
618 func (*Comment) ProtoMessage() {}715 func (*Comment) ProtoMessage() {}
619 716
620 func (x *Comment) ProtoReflect() protoreflect.Message {717 func (x *Comment) ProtoReflect() protoreflect.Message {
621- mi := &file_ermite_merge_request_proto_msgTypes[2]718+ mi := &file_ermite_merge_request_proto_msgTypes[3]
622 if x != nil {719 if x != nil {
623 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
624 if ms.LoadMessageInfo() == nil {721 if ms.LoadMessageInfo() == nil {
@@ -631,7 +728,7 @@ func (x *Comment) ProtoReflect() protoreflect.Message {
631 728
632 // Deprecated: Use Comment.ProtoReflect.Descriptor instead.729 // Deprecated: Use Comment.ProtoReflect.Descriptor instead.
633 func (*Comment) Descriptor() ([]byte, []int) {730 func (*Comment) Descriptor() ([]byte, []int) {
634- return file_ermite_merge_request_proto_rawDescGZIP(), []int{2}731+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{3}
635 }732 }
636 733
637 func (x *Comment) GetId() string {734 func (x *Comment) GetId() string {
@@ -755,7 +852,7 @@ type AuthorVerdict struct {
755 852
756 func (x *AuthorVerdict) Reset() {853 func (x *AuthorVerdict) Reset() {
757 *x = AuthorVerdict{}854 *x = AuthorVerdict{}
758- mi := &file_ermite_merge_request_proto_msgTypes[3]855+ mi := &file_ermite_merge_request_proto_msgTypes[4]
759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
760 ms.StoreMessageInfo(mi)857 ms.StoreMessageInfo(mi)
761 }858 }
@@ -767,7 +864,7 @@ func (x *AuthorVerdict) String() string {
767 func (*AuthorVerdict) ProtoMessage() {}864 func (*AuthorVerdict) ProtoMessage() {}
768 865
769 func (x *AuthorVerdict) ProtoReflect() protoreflect.Message {866 func (x *AuthorVerdict) ProtoReflect() protoreflect.Message {
770- mi := &file_ermite_merge_request_proto_msgTypes[3]867+ mi := &file_ermite_merge_request_proto_msgTypes[4]
771 if x != nil {868 if x != nil {
772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
773 if ms.LoadMessageInfo() == nil {870 if ms.LoadMessageInfo() == nil {
@@ -780,7 +877,7 @@ func (x *AuthorVerdict) ProtoReflect() protoreflect.Message {
780 877
781 // Deprecated: Use AuthorVerdict.ProtoReflect.Descriptor instead.878 // Deprecated: Use AuthorVerdict.ProtoReflect.Descriptor instead.
782 func (*AuthorVerdict) Descriptor() ([]byte, []int) {879 func (*AuthorVerdict) Descriptor() ([]byte, []int) {
783- return file_ermite_merge_request_proto_rawDescGZIP(), []int{3}880+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{4}
784 }881 }
785 882
786 func (x *AuthorVerdict) GetAuthor() string {883 func (x *AuthorVerdict) GetAuthor() string {
@@ -847,7 +944,7 @@ type CreateMergeRequestRequest struct {
847 944
848 func (x *CreateMergeRequestRequest) Reset() {945 func (x *CreateMergeRequestRequest) Reset() {
849 *x = CreateMergeRequestRequest{}946 *x = CreateMergeRequestRequest{}
850- mi := &file_ermite_merge_request_proto_msgTypes[4]947+ mi := &file_ermite_merge_request_proto_msgTypes[5]
851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
852 ms.StoreMessageInfo(mi)949 ms.StoreMessageInfo(mi)
853 }950 }
@@ -859,7 +956,7 @@ func (x *CreateMergeRequestRequest) String() string {
859 func (*CreateMergeRequestRequest) ProtoMessage() {}956 func (*CreateMergeRequestRequest) ProtoMessage() {}
860 957
861 func (x *CreateMergeRequestRequest) ProtoReflect() protoreflect.Message {958 func (x *CreateMergeRequestRequest) ProtoReflect() protoreflect.Message {
862- mi := &file_ermite_merge_request_proto_msgTypes[4]959+ mi := &file_ermite_merge_request_proto_msgTypes[5]
863 if x != nil {960 if x != nil {
864 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
865 if ms.LoadMessageInfo() == nil {962 if ms.LoadMessageInfo() == nil {
@@ -872,7 +969,7 @@ func (x *CreateMergeRequestRequest) ProtoReflect() protoreflect.Message {
872 969
873 // Deprecated: Use CreateMergeRequestRequest.ProtoReflect.Descriptor instead.970 // Deprecated: Use CreateMergeRequestRequest.ProtoReflect.Descriptor instead.
874 func (*CreateMergeRequestRequest) Descriptor() ([]byte, []int) {971 func (*CreateMergeRequestRequest) Descriptor() ([]byte, []int) {
875- return file_ermite_merge_request_proto_rawDescGZIP(), []int{4}972+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{5}
876 }973 }
877 974
878 func (x *CreateMergeRequestRequest) GetRepo() string {975 func (x *CreateMergeRequestRequest) GetRepo() string {
@@ -921,7 +1018,7 @@ type CreateMergeRequestResponse struct {
921 1018
922 func (x *CreateMergeRequestResponse) Reset() {1019 func (x *CreateMergeRequestResponse) Reset() {
923 *x = CreateMergeRequestResponse{}1020 *x = CreateMergeRequestResponse{}
924- mi := &file_ermite_merge_request_proto_msgTypes[5]1021+ mi := &file_ermite_merge_request_proto_msgTypes[6]
925 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1022 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
926 ms.StoreMessageInfo(mi)1023 ms.StoreMessageInfo(mi)
927 }1024 }
@@ -933,7 +1030,7 @@ func (x *CreateMergeRequestResponse) String() string {
933 func (*CreateMergeRequestResponse) ProtoMessage() {}1030 func (*CreateMergeRequestResponse) ProtoMessage() {}
934 1031
935 func (x *CreateMergeRequestResponse) ProtoReflect() protoreflect.Message {1032 func (x *CreateMergeRequestResponse) ProtoReflect() protoreflect.Message {
936- mi := &file_ermite_merge_request_proto_msgTypes[5]1033+ mi := &file_ermite_merge_request_proto_msgTypes[6]
937 if x != nil {1034 if x != nil {
938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1035 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
939 if ms.LoadMessageInfo() == nil {1036 if ms.LoadMessageInfo() == nil {
@@ -946,7 +1043,7 @@ func (x *CreateMergeRequestResponse) ProtoReflect() protoreflect.Message {
946 1043
947 // Deprecated: Use CreateMergeRequestResponse.ProtoReflect.Descriptor instead.1044 // Deprecated: Use CreateMergeRequestResponse.ProtoReflect.Descriptor instead.
948 func (*CreateMergeRequestResponse) Descriptor() ([]byte, []int) {1045 func (*CreateMergeRequestResponse) Descriptor() ([]byte, []int) {
949- return file_ermite_merge_request_proto_rawDescGZIP(), []int{5}1046+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{6}
950 }1047 }
951 1048
952 func (x *CreateMergeRequestResponse) GetMergeRequest() *MergeRequest {1049 func (x *CreateMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -976,7 +1073,7 @@ type ListMergeRequestsRequest struct {
976 1073
977 func (x *ListMergeRequestsRequest) Reset() {1074 func (x *ListMergeRequestsRequest) Reset() {
978 *x = ListMergeRequestsRequest{}1075 *x = ListMergeRequestsRequest{}
979- mi := &file_ermite_merge_request_proto_msgTypes[6]1076+ mi := &file_ermite_merge_request_proto_msgTypes[7]
980 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
981 ms.StoreMessageInfo(mi)1078 ms.StoreMessageInfo(mi)
982 }1079 }
@@ -988,7 +1085,7 @@ func (x *ListMergeRequestsRequest) String() string {
988 func (*ListMergeRequestsRequest) ProtoMessage() {}1085 func (*ListMergeRequestsRequest) ProtoMessage() {}
989 1086
990 func (x *ListMergeRequestsRequest) ProtoReflect() protoreflect.Message {1087 func (x *ListMergeRequestsRequest) ProtoReflect() protoreflect.Message {
991- mi := &file_ermite_merge_request_proto_msgTypes[6]1088+ mi := &file_ermite_merge_request_proto_msgTypes[7]
992 if x != nil {1089 if x != nil {
993 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
994 if ms.LoadMessageInfo() == nil {1091 if ms.LoadMessageInfo() == nil {
@@ -1001,7 +1098,7 @@ func (x *ListMergeRequestsRequest) ProtoReflect() protoreflect.Message {
1001 1098
1002 // Deprecated: Use ListMergeRequestsRequest.ProtoReflect.Descriptor instead.1099 // Deprecated: Use ListMergeRequestsRequest.ProtoReflect.Descriptor instead.
1003 func (*ListMergeRequestsRequest) Descriptor() ([]byte, []int) {1100 func (*ListMergeRequestsRequest) Descriptor() ([]byte, []int) {
1004- return file_ermite_merge_request_proto_rawDescGZIP(), []int{6}1101+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{7}
1005 }1102 }
1006 1103
1007 func (x *ListMergeRequestsRequest) GetRepo() string {1104 func (x *ListMergeRequestsRequest) GetRepo() string {
@@ -1046,7 +1143,7 @@ type ListMergeRequestsResponse struct {
1046 1143
1047 func (x *ListMergeRequestsResponse) Reset() {1144 func (x *ListMergeRequestsResponse) Reset() {
1048 *x = ListMergeRequestsResponse{}1145 *x = ListMergeRequestsResponse{}
1049- mi := &file_ermite_merge_request_proto_msgTypes[7]1146+ mi := &file_ermite_merge_request_proto_msgTypes[8]
1050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1051 ms.StoreMessageInfo(mi)1148 ms.StoreMessageInfo(mi)
1052 }1149 }
@@ -1058,7 +1155,7 @@ func (x *ListMergeRequestsResponse) String() string {
1058 func (*ListMergeRequestsResponse) ProtoMessage() {}1155 func (*ListMergeRequestsResponse) ProtoMessage() {}
1059 1156
1060 func (x *ListMergeRequestsResponse) ProtoReflect() protoreflect.Message {1157 func (x *ListMergeRequestsResponse) ProtoReflect() protoreflect.Message {
1061- mi := &file_ermite_merge_request_proto_msgTypes[7]1158+ mi := &file_ermite_merge_request_proto_msgTypes[8]
1062 if x != nil {1159 if x != nil {
1063 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1160 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064 if ms.LoadMessageInfo() == nil {1161 if ms.LoadMessageInfo() == nil {
@@ -1071,7 +1168,7 @@ func (x *ListMergeRequestsResponse) ProtoReflect() protoreflect.Message {
1071 1168
1072 // Deprecated: Use ListMergeRequestsResponse.ProtoReflect.Descriptor instead.1169 // Deprecated: Use ListMergeRequestsResponse.ProtoReflect.Descriptor instead.
1073 func (*ListMergeRequestsResponse) Descriptor() ([]byte, []int) {1170 func (*ListMergeRequestsResponse) Descriptor() ([]byte, []int) {
1074- return file_ermite_merge_request_proto_rawDescGZIP(), []int{7}1171+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{8}
1075 }1172 }
1076 1173
1077 func (x *ListMergeRequestsResponse) GetMergeRequests() []*MergeRequest {1174 func (x *ListMergeRequestsResponse) GetMergeRequests() []*MergeRequest {
@@ -1108,7 +1205,7 @@ type GetMergeRequestRequest struct {
1108 1205
1109 func (x *GetMergeRequestRequest) Reset() {1206 func (x *GetMergeRequestRequest) Reset() {
1110 *x = GetMergeRequestRequest{}1207 *x = GetMergeRequestRequest{}
1111- mi := &file_ermite_merge_request_proto_msgTypes[8]1208+ mi := &file_ermite_merge_request_proto_msgTypes[9]
1112 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1113 ms.StoreMessageInfo(mi)1210 ms.StoreMessageInfo(mi)
1114 }1211 }
@@ -1120,7 +1217,7 @@ func (x *GetMergeRequestRequest) String() string {
1120 func (*GetMergeRequestRequest) ProtoMessage() {}1217 func (*GetMergeRequestRequest) ProtoMessage() {}
1121 1218
1122 func (x *GetMergeRequestRequest) ProtoReflect() protoreflect.Message {1219 func (x *GetMergeRequestRequest) ProtoReflect() protoreflect.Message {
1123- mi := &file_ermite_merge_request_proto_msgTypes[8]1220+ mi := &file_ermite_merge_request_proto_msgTypes[9]
1124 if x != nil {1221 if x != nil {
1125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1126 if ms.LoadMessageInfo() == nil {1223 if ms.LoadMessageInfo() == nil {
@@ -1133,7 +1230,7 @@ func (x *GetMergeRequestRequest) ProtoReflect() protoreflect.Message {
1133 1230
1134 // Deprecated: Use GetMergeRequestRequest.ProtoReflect.Descriptor instead.1231 // Deprecated: Use GetMergeRequestRequest.ProtoReflect.Descriptor instead.
1135 func (*GetMergeRequestRequest) Descriptor() ([]byte, []int) {1232 func (*GetMergeRequestRequest) Descriptor() ([]byte, []int) {
1136- return file_ermite_merge_request_proto_rawDescGZIP(), []int{8}1233+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{9}
1137 }1234 }
1138 1235
1139 func (x *GetMergeRequestRequest) GetRepo() string {1236 func (x *GetMergeRequestRequest) GetRepo() string {
@@ -1199,7 +1296,7 @@ type GetMergeRequestResponse struct {
1199 1296
1200 func (x *GetMergeRequestResponse) Reset() {1297 func (x *GetMergeRequestResponse) Reset() {
1201 *x = GetMergeRequestResponse{}1298 *x = GetMergeRequestResponse{}
1202- mi := &file_ermite_merge_request_proto_msgTypes[9]1299+ mi := &file_ermite_merge_request_proto_msgTypes[10]
1203 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1204 ms.StoreMessageInfo(mi)1301 ms.StoreMessageInfo(mi)
1205 }1302 }
@@ -1211,7 +1308,7 @@ func (x *GetMergeRequestResponse) String() string {
1211 func (*GetMergeRequestResponse) ProtoMessage() {}1308 func (*GetMergeRequestResponse) ProtoMessage() {}
1212 1309
1213 func (x *GetMergeRequestResponse) ProtoReflect() protoreflect.Message {1310 func (x *GetMergeRequestResponse) ProtoReflect() protoreflect.Message {
1214- mi := &file_ermite_merge_request_proto_msgTypes[9]1311+ mi := &file_ermite_merge_request_proto_msgTypes[10]
1215 if x != nil {1312 if x != nil {
1216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1313 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1217 if ms.LoadMessageInfo() == nil {1314 if ms.LoadMessageInfo() == nil {
@@ -1224,7 +1321,7 @@ func (x *GetMergeRequestResponse) ProtoReflect() protoreflect.Message {
1224 1321
1225 // Deprecated: Use GetMergeRequestResponse.ProtoReflect.Descriptor instead.1322 // Deprecated: Use GetMergeRequestResponse.ProtoReflect.Descriptor instead.
1226 func (*GetMergeRequestResponse) Descriptor() ([]byte, []int) {1323 func (*GetMergeRequestResponse) Descriptor() ([]byte, []int) {
1227- return file_ermite_merge_request_proto_rawDescGZIP(), []int{9}1324+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{10}
1228 }1325 }
1229 1326
1230 func (x *GetMergeRequestResponse) GetMergeRequest() *MergeRequest {1327 func (x *GetMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -1333,7 +1430,7 @@ type AddCommentRequest struct {
1333 1430
1334 func (x *AddCommentRequest) Reset() {1431 func (x *AddCommentRequest) Reset() {
1335 *x = AddCommentRequest{}1432 *x = AddCommentRequest{}
1336- mi := &file_ermite_merge_request_proto_msgTypes[10]1433+ mi := &file_ermite_merge_request_proto_msgTypes[11]
1337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1338 ms.StoreMessageInfo(mi)1435 ms.StoreMessageInfo(mi)
1339 }1436 }
@@ -1345,7 +1442,7 @@ func (x *AddCommentRequest) String() string {
1345 func (*AddCommentRequest) ProtoMessage() {}1442 func (*AddCommentRequest) ProtoMessage() {}
1346 1443
1347 func (x *AddCommentRequest) ProtoReflect() protoreflect.Message {1444 func (x *AddCommentRequest) ProtoReflect() protoreflect.Message {
1348- mi := &file_ermite_merge_request_proto_msgTypes[10]1445+ mi := &file_ermite_merge_request_proto_msgTypes[11]
1349 if x != nil {1446 if x != nil {
1350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1351 if ms.LoadMessageInfo() == nil {1448 if ms.LoadMessageInfo() == nil {
@@ -1358,7 +1455,7 @@ func (x *AddCommentRequest) ProtoReflect() protoreflect.Message {
1358 1455
1359 // Deprecated: Use AddCommentRequest.ProtoReflect.Descriptor instead.1456 // Deprecated: Use AddCommentRequest.ProtoReflect.Descriptor instead.
1360 func (*AddCommentRequest) Descriptor() ([]byte, []int) {1457 func (*AddCommentRequest) Descriptor() ([]byte, []int) {
1361- return file_ermite_merge_request_proto_rawDescGZIP(), []int{10}1458+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{11}
1362 }1459 }
1363 1460
1364 func (x *AddCommentRequest) GetRepo() string {1461 func (x *AddCommentRequest) GetRepo() string {
@@ -1435,7 +1532,7 @@ type AddCommentResponse struct {
1435 1532
1436 func (x *AddCommentResponse) Reset() {1533 func (x *AddCommentResponse) Reset() {
1437 *x = AddCommentResponse{}1534 *x = AddCommentResponse{}
1438- mi := &file_ermite_merge_request_proto_msgTypes[11]1535+ mi := &file_ermite_merge_request_proto_msgTypes[12]
1439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1440 ms.StoreMessageInfo(mi)1537 ms.StoreMessageInfo(mi)
1441 }1538 }
@@ -1447,7 +1544,7 @@ func (x *AddCommentResponse) String() string {
1447 func (*AddCommentResponse) ProtoMessage() {}1544 func (*AddCommentResponse) ProtoMessage() {}
1448 1545
1449 func (x *AddCommentResponse) ProtoReflect() protoreflect.Message {1546 func (x *AddCommentResponse) ProtoReflect() protoreflect.Message {
1450- mi := &file_ermite_merge_request_proto_msgTypes[11]1547+ mi := &file_ermite_merge_request_proto_msgTypes[12]
1451 if x != nil {1548 if x != nil {
1452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1453 if ms.LoadMessageInfo() == nil {1550 if ms.LoadMessageInfo() == nil {
@@ -1460,7 +1557,7 @@ func (x *AddCommentResponse) ProtoReflect() protoreflect.Message {
1460 1557
1461 // Deprecated: Use AddCommentResponse.ProtoReflect.Descriptor instead.1558 // Deprecated: Use AddCommentResponse.ProtoReflect.Descriptor instead.
1462 func (*AddCommentResponse) Descriptor() ([]byte, []int) {1559 func (*AddCommentResponse) Descriptor() ([]byte, []int) {
1463- return file_ermite_merge_request_proto_rawDescGZIP(), []int{11}1560+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{12}
1464 }1561 }
1465 1562
1466 func (x *AddCommentResponse) GetComment() *Comment {1563 func (x *AddCommentResponse) GetComment() *Comment {
@@ -1488,7 +1585,7 @@ type EditCommentRequest struct {
1488 1585
1489 func (x *EditCommentRequest) Reset() {1586 func (x *EditCommentRequest) Reset() {
1490 *x = EditCommentRequest{}1587 *x = EditCommentRequest{}
1491- mi := &file_ermite_merge_request_proto_msgTypes[12]1588+ mi := &file_ermite_merge_request_proto_msgTypes[13]
1492 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1493 ms.StoreMessageInfo(mi)1590 ms.StoreMessageInfo(mi)
1494 }1591 }
@@ -1500,7 +1597,7 @@ func (x *EditCommentRequest) String() string {
1500 func (*EditCommentRequest) ProtoMessage() {}1597 func (*EditCommentRequest) ProtoMessage() {}
1501 1598
1502 func (x *EditCommentRequest) ProtoReflect() protoreflect.Message {1599 func (x *EditCommentRequest) ProtoReflect() protoreflect.Message {
1503- mi := &file_ermite_merge_request_proto_msgTypes[12]1600+ mi := &file_ermite_merge_request_proto_msgTypes[13]
1504 if x != nil {1601 if x != nil {
1505 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1506 if ms.LoadMessageInfo() == nil {1603 if ms.LoadMessageInfo() == nil {
@@ -1513,7 +1610,7 @@ func (x *EditCommentRequest) ProtoReflect() protoreflect.Message {
1513 1610
1514 // Deprecated: Use EditCommentRequest.ProtoReflect.Descriptor instead.1611 // Deprecated: Use EditCommentRequest.ProtoReflect.Descriptor instead.
1515 func (*EditCommentRequest) Descriptor() ([]byte, []int) {1612 func (*EditCommentRequest) Descriptor() ([]byte, []int) {
1516- return file_ermite_merge_request_proto_rawDescGZIP(), []int{12}1613+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{13}
1517 }1614 }
1518 1615
1519 func (x *EditCommentRequest) GetRepo() string {1616 func (x *EditCommentRequest) GetRepo() string {
@@ -1555,7 +1652,7 @@ type EditCommentResponse struct {
1555 1652
1556 func (x *EditCommentResponse) Reset() {1653 func (x *EditCommentResponse) Reset() {
1557 *x = EditCommentResponse{}1654 *x = EditCommentResponse{}
1558- mi := &file_ermite_merge_request_proto_msgTypes[13]1655+ mi := &file_ermite_merge_request_proto_msgTypes[14]
1559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1560 ms.StoreMessageInfo(mi)1657 ms.StoreMessageInfo(mi)
1561 }1658 }
@@ -1567,7 +1664,7 @@ func (x *EditCommentResponse) String() string {
1567 func (*EditCommentResponse) ProtoMessage() {}1664 func (*EditCommentResponse) ProtoMessage() {}
1568 1665
1569 func (x *EditCommentResponse) ProtoReflect() protoreflect.Message {1666 func (x *EditCommentResponse) ProtoReflect() protoreflect.Message {
1570- mi := &file_ermite_merge_request_proto_msgTypes[13]1667+ mi := &file_ermite_merge_request_proto_msgTypes[14]
1571 if x != nil {1668 if x != nil {
1572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1573 if ms.LoadMessageInfo() == nil {1670 if ms.LoadMessageInfo() == nil {
@@ -1580,7 +1677,7 @@ func (x *EditCommentResponse) ProtoReflect() protoreflect.Message {
1580 1677
1581 // Deprecated: Use EditCommentResponse.ProtoReflect.Descriptor instead.1678 // Deprecated: Use EditCommentResponse.ProtoReflect.Descriptor instead.
1582 func (*EditCommentResponse) Descriptor() ([]byte, []int) {1679 func (*EditCommentResponse) Descriptor() ([]byte, []int) {
1583- return file_ermite_merge_request_proto_rawDescGZIP(), []int{13}1680+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{14}
1584 }1681 }
1585 1682
1586 func (x *EditCommentResponse) GetComment() *Comment {1683 func (x *EditCommentResponse) GetComment() *Comment {
@@ -1605,7 +1702,7 @@ type DeleteCommentRequest struct {
1605 1702
1606 func (x *DeleteCommentRequest) Reset() {1703 func (x *DeleteCommentRequest) Reset() {
1607 *x = DeleteCommentRequest{}1704 *x = DeleteCommentRequest{}
1608- mi := &file_ermite_merge_request_proto_msgTypes[14]1705+ mi := &file_ermite_merge_request_proto_msgTypes[15]
1609 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1610 ms.StoreMessageInfo(mi)1707 ms.StoreMessageInfo(mi)
1611 }1708 }
@@ -1617,7 +1714,7 @@ func (x *DeleteCommentRequest) String() string {
1617 func (*DeleteCommentRequest) ProtoMessage() {}1714 func (*DeleteCommentRequest) ProtoMessage() {}
1618 1715
1619 func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {1716 func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {
1620- mi := &file_ermite_merge_request_proto_msgTypes[14]1717+ mi := &file_ermite_merge_request_proto_msgTypes[15]
1621 if x != nil {1718 if x != nil {
1622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1623 if ms.LoadMessageInfo() == nil {1720 if ms.LoadMessageInfo() == nil {
@@ -1630,7 +1727,7 @@ func (x *DeleteCommentRequest) ProtoReflect() protoreflect.Message {
1630 1727
1631 // Deprecated: Use DeleteCommentRequest.ProtoReflect.Descriptor instead.1728 // Deprecated: Use DeleteCommentRequest.ProtoReflect.Descriptor instead.
1632 func (*DeleteCommentRequest) Descriptor() ([]byte, []int) {1729 func (*DeleteCommentRequest) Descriptor() ([]byte, []int) {
1633- return file_ermite_merge_request_proto_rawDescGZIP(), []int{14}1730+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{15}
1634 }1731 }
1635 1732
1636 func (x *DeleteCommentRequest) GetRepo() string {1733 func (x *DeleteCommentRequest) GetRepo() string {
@@ -1665,7 +1762,7 @@ type DeleteCommentResponse struct {
1665 1762
1666 func (x *DeleteCommentResponse) Reset() {1763 func (x *DeleteCommentResponse) Reset() {
1667 *x = DeleteCommentResponse{}1764 *x = DeleteCommentResponse{}
1668- mi := &file_ermite_merge_request_proto_msgTypes[15]1765+ mi := &file_ermite_merge_request_proto_msgTypes[16]
1669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1670 ms.StoreMessageInfo(mi)1767 ms.StoreMessageInfo(mi)
1671 }1768 }
@@ -1677,7 +1774,7 @@ func (x *DeleteCommentResponse) String() string {
1677 func (*DeleteCommentResponse) ProtoMessage() {}1774 func (*DeleteCommentResponse) ProtoMessage() {}
1678 1775
1679 func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {1776 func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {
1680- mi := &file_ermite_merge_request_proto_msgTypes[15]1777+ mi := &file_ermite_merge_request_proto_msgTypes[16]
1681 if x != nil {1778 if x != nil {
1682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1683 if ms.LoadMessageInfo() == nil {1780 if ms.LoadMessageInfo() == nil {
@@ -1690,7 +1787,7 @@ func (x *DeleteCommentResponse) ProtoReflect() protoreflect.Message {
1690 1787
1691 // Deprecated: Use DeleteCommentResponse.ProtoReflect.Descriptor instead.1788 // Deprecated: Use DeleteCommentResponse.ProtoReflect.Descriptor instead.
1692 func (*DeleteCommentResponse) Descriptor() ([]byte, []int) {1789 func (*DeleteCommentResponse) Descriptor() ([]byte, []int) {
1693- return file_ermite_merge_request_proto_rawDescGZIP(), []int{15}1790+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{16}
1694 }1791 }
1695 1792
1696 func (x *DeleteCommentResponse) GetComment() *Comment {1793 func (x *DeleteCommentResponse) GetComment() *Comment {
@@ -1717,7 +1814,7 @@ type ResolveCommentRequest struct {
1717 1814
1718 func (x *ResolveCommentRequest) Reset() {1815 func (x *ResolveCommentRequest) Reset() {
1719 *x = ResolveCommentRequest{}1816 *x = ResolveCommentRequest{}
1720- mi := &file_ermite_merge_request_proto_msgTypes[16]1817+ mi := &file_ermite_merge_request_proto_msgTypes[17]
1721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1818 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1722 ms.StoreMessageInfo(mi)1819 ms.StoreMessageInfo(mi)
1723 }1820 }
@@ -1729,7 +1826,7 @@ func (x *ResolveCommentRequest) String() string {
1729 func (*ResolveCommentRequest) ProtoMessage() {}1826 func (*ResolveCommentRequest) ProtoMessage() {}
1730 1827
1731 func (x *ResolveCommentRequest) ProtoReflect() protoreflect.Message {1828 func (x *ResolveCommentRequest) ProtoReflect() protoreflect.Message {
1732- mi := &file_ermite_merge_request_proto_msgTypes[16]1829+ mi := &file_ermite_merge_request_proto_msgTypes[17]
1733 if x != nil {1830 if x != nil {
1734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1735 if ms.LoadMessageInfo() == nil {1832 if ms.LoadMessageInfo() == nil {
@@ -1742,7 +1839,7 @@ func (x *ResolveCommentRequest) ProtoReflect() protoreflect.Message {
1742 1839
1743 // Deprecated: Use ResolveCommentRequest.ProtoReflect.Descriptor instead.1840 // Deprecated: Use ResolveCommentRequest.ProtoReflect.Descriptor instead.
1744 func (*ResolveCommentRequest) Descriptor() ([]byte, []int) {1841 func (*ResolveCommentRequest) Descriptor() ([]byte, []int) {
1745- return file_ermite_merge_request_proto_rawDescGZIP(), []int{16}1842+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{17}
1746 }1843 }
1747 1844
1748 func (x *ResolveCommentRequest) GetRepo() string {1845 func (x *ResolveCommentRequest) GetRepo() string {
@@ -1784,7 +1881,7 @@ type ResolveCommentResponse struct {
1784 1881
1785 func (x *ResolveCommentResponse) Reset() {1882 func (x *ResolveCommentResponse) Reset() {
1786 *x = ResolveCommentResponse{}1883 *x = ResolveCommentResponse{}
1787- mi := &file_ermite_merge_request_proto_msgTypes[17]1884+ mi := &file_ermite_merge_request_proto_msgTypes[18]
1788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1885 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1789 ms.StoreMessageInfo(mi)1886 ms.StoreMessageInfo(mi)
1790 }1887 }
@@ -1796,7 +1893,7 @@ func (x *ResolveCommentResponse) String() string {
1796 func (*ResolveCommentResponse) ProtoMessage() {}1893 func (*ResolveCommentResponse) ProtoMessage() {}
1797 1894
1798 func (x *ResolveCommentResponse) ProtoReflect() protoreflect.Message {1895 func (x *ResolveCommentResponse) ProtoReflect() protoreflect.Message {
1799- mi := &file_ermite_merge_request_proto_msgTypes[17]1896+ mi := &file_ermite_merge_request_proto_msgTypes[18]
1800 if x != nil {1897 if x != nil {
1801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1802 if ms.LoadMessageInfo() == nil {1899 if ms.LoadMessageInfo() == nil {
@@ -1809,7 +1906,7 @@ func (x *ResolveCommentResponse) ProtoReflect() protoreflect.Message {
1809 1906
1810 // Deprecated: Use ResolveCommentResponse.ProtoReflect.Descriptor instead.1907 // Deprecated: Use ResolveCommentResponse.ProtoReflect.Descriptor instead.
1811 func (*ResolveCommentResponse) Descriptor() ([]byte, []int) {1908 func (*ResolveCommentResponse) Descriptor() ([]byte, []int) {
1812- return file_ermite_merge_request_proto_rawDescGZIP(), []int{17}1909+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{18}
1813 }1910 }
1814 1911
1815 func (x *ResolveCommentResponse) GetComment() *Comment {1912 func (x *ResolveCommentResponse) GetComment() *Comment {
@@ -1832,7 +1929,7 @@ type CloseMergeRequestRequest struct {
1832 1929
1833 func (x *CloseMergeRequestRequest) Reset() {1930 func (x *CloseMergeRequestRequest) Reset() {
1834 *x = CloseMergeRequestRequest{}1931 *x = CloseMergeRequestRequest{}
1835- mi := &file_ermite_merge_request_proto_msgTypes[18]1932+ mi := &file_ermite_merge_request_proto_msgTypes[19]
1836 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1933 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837 ms.StoreMessageInfo(mi)1934 ms.StoreMessageInfo(mi)
1838 }1935 }
@@ -1844,7 +1941,7 @@ func (x *CloseMergeRequestRequest) String() string {
1844 func (*CloseMergeRequestRequest) ProtoMessage() {}1941 func (*CloseMergeRequestRequest) ProtoMessage() {}
1845 1942
1846 func (x *CloseMergeRequestRequest) ProtoReflect() protoreflect.Message {1943 func (x *CloseMergeRequestRequest) ProtoReflect() protoreflect.Message {
1847- mi := &file_ermite_merge_request_proto_msgTypes[18]1944+ mi := &file_ermite_merge_request_proto_msgTypes[19]
1848 if x != nil {1945 if x != nil {
1849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1946 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1850 if ms.LoadMessageInfo() == nil {1947 if ms.LoadMessageInfo() == nil {
@@ -1857,7 +1954,7 @@ func (x *CloseMergeRequestRequest) ProtoReflect() protoreflect.Message {
1857 1954
1858 // Deprecated: Use CloseMergeRequestRequest.ProtoReflect.Descriptor instead.1955 // Deprecated: Use CloseMergeRequestRequest.ProtoReflect.Descriptor instead.
1859 func (*CloseMergeRequestRequest) Descriptor() ([]byte, []int) {1956 func (*CloseMergeRequestRequest) Descriptor() ([]byte, []int) {
1860- return file_ermite_merge_request_proto_rawDescGZIP(), []int{18}1957+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{19}
1861 }1958 }
1862 1959
1863 func (x *CloseMergeRequestRequest) GetRepo() string {1960 func (x *CloseMergeRequestRequest) GetRepo() string {
@@ -1885,7 +1982,7 @@ type CloseMergeRequestResponse struct {
1885 1982
1886 func (x *CloseMergeRequestResponse) Reset() {1983 func (x *CloseMergeRequestResponse) Reset() {
1887 *x = CloseMergeRequestResponse{}1984 *x = CloseMergeRequestResponse{}
1888- mi := &file_ermite_merge_request_proto_msgTypes[19]1985+ mi := &file_ermite_merge_request_proto_msgTypes[20]
1889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1986 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1890 ms.StoreMessageInfo(mi)1987 ms.StoreMessageInfo(mi)
1891 }1988 }
@@ -1897,7 +1994,7 @@ func (x *CloseMergeRequestResponse) String() string {
1897 func (*CloseMergeRequestResponse) ProtoMessage() {}1994 func (*CloseMergeRequestResponse) ProtoMessage() {}
1898 1995
1899 func (x *CloseMergeRequestResponse) ProtoReflect() protoreflect.Message {1996 func (x *CloseMergeRequestResponse) ProtoReflect() protoreflect.Message {
1900- mi := &file_ermite_merge_request_proto_msgTypes[19]1997+ mi := &file_ermite_merge_request_proto_msgTypes[20]
1901 if x != nil {1998 if x != nil {
1902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1903 if ms.LoadMessageInfo() == nil {2000 if ms.LoadMessageInfo() == nil {
@@ -1910,7 +2007,7 @@ func (x *CloseMergeRequestResponse) ProtoReflect() protoreflect.Message {
1910 2007
1911 // Deprecated: Use CloseMergeRequestResponse.ProtoReflect.Descriptor instead.2008 // Deprecated: Use CloseMergeRequestResponse.ProtoReflect.Descriptor instead.
1912 func (*CloseMergeRequestResponse) Descriptor() ([]byte, []int) {2009 func (*CloseMergeRequestResponse) Descriptor() ([]byte, []int) {
1913- return file_ermite_merge_request_proto_rawDescGZIP(), []int{19}2010+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{20}
1914 }2011 }
1915 2012
1916 func (x *CloseMergeRequestResponse) GetMergeRequest() *MergeRequest {2013 func (x *CloseMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -1946,7 +2043,7 @@ type MergeMergeRequestRequest struct {
1946 2043
1947 func (x *MergeMergeRequestRequest) Reset() {2044 func (x *MergeMergeRequestRequest) Reset() {
1948 *x = MergeMergeRequestRequest{}2045 *x = MergeMergeRequestRequest{}
1949- mi := &file_ermite_merge_request_proto_msgTypes[20]2046+ mi := &file_ermite_merge_request_proto_msgTypes[21]
1950 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2047 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1951 ms.StoreMessageInfo(mi)2048 ms.StoreMessageInfo(mi)
1952 }2049 }
@@ -1958,7 +2055,7 @@ func (x *MergeMergeRequestRequest) String() string {
1958 func (*MergeMergeRequestRequest) ProtoMessage() {}2055 func (*MergeMergeRequestRequest) ProtoMessage() {}
1959 2056
1960 func (x *MergeMergeRequestRequest) ProtoReflect() protoreflect.Message {2057 func (x *MergeMergeRequestRequest) ProtoReflect() protoreflect.Message {
1961- mi := &file_ermite_merge_request_proto_msgTypes[20]2058+ mi := &file_ermite_merge_request_proto_msgTypes[21]
1962 if x != nil {2059 if x != nil {
1963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1964 if ms.LoadMessageInfo() == nil {2061 if ms.LoadMessageInfo() == nil {
@@ -1971,7 +2068,7 @@ func (x *MergeMergeRequestRequest) ProtoReflect() protoreflect.Message {
1971 2068
1972 // Deprecated: Use MergeMergeRequestRequest.ProtoReflect.Descriptor instead.2069 // Deprecated: Use MergeMergeRequestRequest.ProtoReflect.Descriptor instead.
1973 func (*MergeMergeRequestRequest) Descriptor() ([]byte, []int) {2070 func (*MergeMergeRequestRequest) Descriptor() ([]byte, []int) {
1974- return file_ermite_merge_request_proto_rawDescGZIP(), []int{20}2071+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{21}
1975 }2072 }
1976 2073
1977 func (x *MergeMergeRequestRequest) GetRepo() string {2074 func (x *MergeMergeRequestRequest) GetRepo() string {
@@ -2028,7 +2125,7 @@ type MergeMergeRequestResponse struct {
2028 2125
2029 func (x *MergeMergeRequestResponse) Reset() {2126 func (x *MergeMergeRequestResponse) Reset() {
2030 *x = MergeMergeRequestResponse{}2127 *x = MergeMergeRequestResponse{}
2031- mi := &file_ermite_merge_request_proto_msgTypes[21]2128+ mi := &file_ermite_merge_request_proto_msgTypes[22]
2032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2033 ms.StoreMessageInfo(mi)2130 ms.StoreMessageInfo(mi)
2034 }2131 }
@@ -2040,7 +2137,7 @@ func (x *MergeMergeRequestResponse) String() string {
2040 func (*MergeMergeRequestResponse) ProtoMessage() {}2137 func (*MergeMergeRequestResponse) ProtoMessage() {}
2041 2138
2042 func (x *MergeMergeRequestResponse) ProtoReflect() protoreflect.Message {2139 func (x *MergeMergeRequestResponse) ProtoReflect() protoreflect.Message {
2043- mi := &file_ermite_merge_request_proto_msgTypes[21]2140+ mi := &file_ermite_merge_request_proto_msgTypes[22]
2044 if x != nil {2141 if x != nil {
2045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2046 if ms.LoadMessageInfo() == nil {2143 if ms.LoadMessageInfo() == nil {
@@ -2053,7 +2150,7 @@ func (x *MergeMergeRequestResponse) ProtoReflect() protoreflect.Message {
2053 2150
2054 // Deprecated: Use MergeMergeRequestResponse.ProtoReflect.Descriptor instead.2151 // Deprecated: Use MergeMergeRequestResponse.ProtoReflect.Descriptor instead.
2055 func (*MergeMergeRequestResponse) Descriptor() ([]byte, []int) {2152 func (*MergeMergeRequestResponse) Descriptor() ([]byte, []int) {
2056- return file_ermite_merge_request_proto_rawDescGZIP(), []int{21}2153+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{22}
2057 }2154 }
2058 2155
2059 func (x *MergeMergeRequestResponse) GetMergeRequest() *MergeRequest {2156 func (x *MergeMergeRequestResponse) GetMergeRequest() *MergeRequest {
@@ -2070,6 +2167,230 @@ func (x *MergeMergeRequestResponse) GetSourceBranchDeleted() bool {
2070 return false2167 return false
2071 }2168 }
2072 2169
2170+// EnableAutoMergeRequest describes the auto-merge to enable.
2171+type EnableAutoMergeRequest struct {
2172+ state protoimpl.MessageState `protogen:"open.v1"`
2173+ // Repo is the repository name.
2174+ Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2175+ // Number is the merge request number.
2176+ Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
2177+ // Mode is how to merge. MERGE_MODE_UNSPECIFIED means fast-forward. The mode
2178+ // must be in RepoSettings.allowed_merge_modes of the repository.
2179+ Mode MergeMode `protobuf:"varint,3,opt,name=mode,proto3,enum=ermite.MergeMode" json:"mode,omitempty"`
2180+ // HeadId is the full id of the commit the caller reviewed, that is the
2181+ // MergeRequest.head_id it was shown. Required. The auto-merge is enabled
2182+ // only if the source branch still points to it; failed_precondition (branch
2183+ // moved) otherwise.
2184+ HeadId string `protobuf:"bytes,4,opt,name=head_id,json=headId,proto3" json:"head_id,omitempty"`
2185+ unknownFields protoimpl.UnknownFields
2186+ sizeCache protoimpl.SizeCache
2187+}
2188+
2189+func (x *EnableAutoMergeRequest) Reset() {
2190+ *x = EnableAutoMergeRequest{}
2191+ mi := &file_ermite_merge_request_proto_msgTypes[23]
2192+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2193+ ms.StoreMessageInfo(mi)
2194+}
2195+
2196+func (x *EnableAutoMergeRequest) String() string {
2197+ return protoimpl.X.MessageStringOf(x)
2198+}
2199+
2200+func (*EnableAutoMergeRequest) ProtoMessage() {}
2201+
2202+func (x *EnableAutoMergeRequest) ProtoReflect() protoreflect.Message {
2203+ mi := &file_ermite_merge_request_proto_msgTypes[23]
2204+ if x != nil {
2205+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2206+ if ms.LoadMessageInfo() == nil {
2207+ ms.StoreMessageInfo(mi)
2208+ }
2209+ return ms
2210+ }
2211+ return mi.MessageOf(x)
2212+}
2213+
2214+// Deprecated: Use EnableAutoMergeRequest.ProtoReflect.Descriptor instead.
2215+func (*EnableAutoMergeRequest) Descriptor() ([]byte, []int) {
2216+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{23}
2217+}
2218+
2219+func (x *EnableAutoMergeRequest) GetRepo() string {
2220+ if x != nil {
2221+ return x.Repo
2222+ }
2223+ return ""
2224+}
2225+
2226+func (x *EnableAutoMergeRequest) GetNumber() int64 {
2227+ if x != nil {
2228+ return x.Number
2229+ }
2230+ return 0
2231+}
2232+
2233+func (x *EnableAutoMergeRequest) GetMode() MergeMode {
2234+ if x != nil {
2235+ return x.Mode
2236+ }
2237+ return MergeMode_MERGE_MODE_UNSPECIFIED
2238+}
2239+
2240+func (x *EnableAutoMergeRequest) GetHeadId() string {
2241+ if x != nil {
2242+ return x.HeadId
2243+ }
2244+ return ""
2245+}
2246+
2247+// EnableAutoMergeResponse holds the merge request with auto-merge enabled.
2248+type EnableAutoMergeResponse struct {
2249+ state protoimpl.MessageState `protogen:"open.v1"`
2250+ // MergeRequest is the merge request, with auto_merge set.
2251+ MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
2252+ unknownFields protoimpl.UnknownFields
2253+ sizeCache protoimpl.SizeCache
2254+}
2255+
2256+func (x *EnableAutoMergeResponse) Reset() {
2257+ *x = EnableAutoMergeResponse{}
2258+ mi := &file_ermite_merge_request_proto_msgTypes[24]
2259+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2260+ ms.StoreMessageInfo(mi)
2261+}
2262+
2263+func (x *EnableAutoMergeResponse) String() string {
2264+ return protoimpl.X.MessageStringOf(x)
2265+}
2266+
2267+func (*EnableAutoMergeResponse) ProtoMessage() {}
2268+
2269+func (x *EnableAutoMergeResponse) ProtoReflect() protoreflect.Message {
2270+ mi := &file_ermite_merge_request_proto_msgTypes[24]
2271+ if x != nil {
2272+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2273+ if ms.LoadMessageInfo() == nil {
2274+ ms.StoreMessageInfo(mi)
2275+ }
2276+ return ms
2277+ }
2278+ return mi.MessageOf(x)
2279+}
2280+
2281+// Deprecated: Use EnableAutoMergeResponse.ProtoReflect.Descriptor instead.
2282+func (*EnableAutoMergeResponse) Descriptor() ([]byte, []int) {
2283+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{24}
2284+}
2285+
2286+func (x *EnableAutoMergeResponse) GetMergeRequest() *MergeRequest {
2287+ if x != nil {
2288+ return x.MergeRequest
2289+ }
2290+ return nil
2291+}
2292+
2293+// CancelAutoMergeRequest names the merge request whose auto-merge to cancel.
2294+type CancelAutoMergeRequest struct {
2295+ state protoimpl.MessageState `protogen:"open.v1"`
2296+ // Repo is the repository name.
2297+ Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2298+ // Number is the merge request number.
2299+ Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
2300+ unknownFields protoimpl.UnknownFields
2301+ sizeCache protoimpl.SizeCache
2302+}
2303+
2304+func (x *CancelAutoMergeRequest) Reset() {
2305+ *x = CancelAutoMergeRequest{}
2306+ mi := &file_ermite_merge_request_proto_msgTypes[25]
2307+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2308+ ms.StoreMessageInfo(mi)
2309+}
2310+
2311+func (x *CancelAutoMergeRequest) String() string {
2312+ return protoimpl.X.MessageStringOf(x)
2313+}
2314+
2315+func (*CancelAutoMergeRequest) ProtoMessage() {}
2316+
2317+func (x *CancelAutoMergeRequest) ProtoReflect() protoreflect.Message {
2318+ mi := &file_ermite_merge_request_proto_msgTypes[25]
2319+ if x != nil {
2320+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2321+ if ms.LoadMessageInfo() == nil {
2322+ ms.StoreMessageInfo(mi)
2323+ }
2324+ return ms
2325+ }
2326+ return mi.MessageOf(x)
2327+}
2328+
2329+// Deprecated: Use CancelAutoMergeRequest.ProtoReflect.Descriptor instead.
2330+func (*CancelAutoMergeRequest) Descriptor() ([]byte, []int) {
2331+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{25}
2332+}
2333+
2334+func (x *CancelAutoMergeRequest) GetRepo() string {
2335+ if x != nil {
2336+ return x.Repo
2337+ }
2338+ return ""
2339+}
2340+
2341+func (x *CancelAutoMergeRequest) GetNumber() int64 {
2342+ if x != nil {
2343+ return x.Number
2344+ }
2345+ return 0
2346+}
2347+
2348+// CancelAutoMergeResponse holds the merge request after the cancellation.
2349+type CancelAutoMergeResponse struct {
2350+ state protoimpl.MessageState `protogen:"open.v1"`
2351+ // MergeRequest is the merge request, with auto_merge unset.
2352+ MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
2353+ unknownFields protoimpl.UnknownFields
2354+ sizeCache protoimpl.SizeCache
2355+}
2356+
2357+func (x *CancelAutoMergeResponse) Reset() {
2358+ *x = CancelAutoMergeResponse{}
2359+ mi := &file_ermite_merge_request_proto_msgTypes[26]
2360+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2361+ ms.StoreMessageInfo(mi)
2362+}
2363+
2364+func (x *CancelAutoMergeResponse) String() string {
2365+ return protoimpl.X.MessageStringOf(x)
2366+}
2367+
2368+func (*CancelAutoMergeResponse) ProtoMessage() {}
2369+
2370+func (x *CancelAutoMergeResponse) ProtoReflect() protoreflect.Message {
2371+ mi := &file_ermite_merge_request_proto_msgTypes[26]
2372+ if x != nil {
2373+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2374+ if ms.LoadMessageInfo() == nil {
2375+ ms.StoreMessageInfo(mi)
2376+ }
2377+ return ms
2378+ }
2379+ return mi.MessageOf(x)
2380+}
2381+
2382+// Deprecated: Use CancelAutoMergeResponse.ProtoReflect.Descriptor instead.
2383+func (*CancelAutoMergeResponse) Descriptor() ([]byte, []int) {
2384+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{26}
2385+}
2386+
2387+func (x *CancelAutoMergeResponse) GetMergeRequest() *MergeRequest {
2388+ if x != nil {
2389+ return x.MergeRequest
2390+ }
2391+ return nil
2392+}
2393+
2073 // MarkReadRequest records a read position.2394 // MarkReadRequest records a read position.
2074 type MarkReadRequest struct {2395 type MarkReadRequest struct {
2075 state protoimpl.MessageState `protogen:"open.v1"`2396 state protoimpl.MessageState `protogen:"open.v1"`
@@ -2087,7 +2408,7 @@ type MarkReadRequest struct {
2087 2408
2088 func (x *MarkReadRequest) Reset() {2409 func (x *MarkReadRequest) Reset() {
2089 *x = MarkReadRequest{}2410 *x = MarkReadRequest{}
2090- mi := &file_ermite_merge_request_proto_msgTypes[22]2411+ mi := &file_ermite_merge_request_proto_msgTypes[27]
2091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2412 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2092 ms.StoreMessageInfo(mi)2413 ms.StoreMessageInfo(mi)
2093 }2414 }
@@ -2099,7 +2420,7 @@ func (x *MarkReadRequest) String() string {
2099 func (*MarkReadRequest) ProtoMessage() {}2420 func (*MarkReadRequest) ProtoMessage() {}
2100 2421
2101 func (x *MarkReadRequest) ProtoReflect() protoreflect.Message {2422 func (x *MarkReadRequest) ProtoReflect() protoreflect.Message {
2102- mi := &file_ermite_merge_request_proto_msgTypes[22]2423+ mi := &file_ermite_merge_request_proto_msgTypes[27]
2103 if x != nil {2424 if x != nil {
2104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2105 if ms.LoadMessageInfo() == nil {2426 if ms.LoadMessageInfo() == nil {
@@ -2112,7 +2433,7 @@ func (x *MarkReadRequest) ProtoReflect() protoreflect.Message {
2112 2433
2113 // Deprecated: Use MarkReadRequest.ProtoReflect.Descriptor instead.2434 // Deprecated: Use MarkReadRequest.ProtoReflect.Descriptor instead.
2114 func (*MarkReadRequest) Descriptor() ([]byte, []int) {2435 func (*MarkReadRequest) Descriptor() ([]byte, []int) {
2115- return file_ermite_merge_request_proto_rawDescGZIP(), []int{22}2436+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{27}
2116 }2437 }
2117 2438
2118 func (x *MarkReadRequest) GetRepo() string {2439 func (x *MarkReadRequest) GetRepo() string {
@@ -2145,7 +2466,7 @@ type MarkReadResponse struct {
2145 2466
2146 func (x *MarkReadResponse) Reset() {2467 func (x *MarkReadResponse) Reset() {
2147 *x = MarkReadResponse{}2468 *x = MarkReadResponse{}
2148- mi := &file_ermite_merge_request_proto_msgTypes[23]2469+ mi := &file_ermite_merge_request_proto_msgTypes[28]
2149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2150 ms.StoreMessageInfo(mi)2471 ms.StoreMessageInfo(mi)
2151 }2472 }
@@ -2157,7 +2478,7 @@ func (x *MarkReadResponse) String() string {
2157 func (*MarkReadResponse) ProtoMessage() {}2478 func (*MarkReadResponse) ProtoMessage() {}
2158 2479
2159 func (x *MarkReadResponse) ProtoReflect() protoreflect.Message {2480 func (x *MarkReadResponse) ProtoReflect() protoreflect.Message {
2160- mi := &file_ermite_merge_request_proto_msgTypes[23]2481+ mi := &file_ermite_merge_request_proto_msgTypes[28]
2161 if x != nil {2482 if x != nil {
2162 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2163 if ms.LoadMessageInfo() == nil {2484 if ms.LoadMessageInfo() == nil {
@@ -2170,7 +2491,7 @@ func (x *MarkReadResponse) ProtoReflect() protoreflect.Message {
2170 2491
2171 // Deprecated: Use MarkReadResponse.ProtoReflect.Descriptor instead.2492 // Deprecated: Use MarkReadResponse.ProtoReflect.Descriptor instead.
2172 func (*MarkReadResponse) Descriptor() ([]byte, []int) {2493 func (*MarkReadResponse) Descriptor() ([]byte, []int) {
2173- return file_ermite_merge_request_proto_rawDescGZIP(), []int{23}2494+ return file_ermite_merge_request_proto_rawDescGZIP(), []int{28}
2174 }2495 }
2175 2496
2176 var File_ermite_merge_request_proto protoreflect.FileDescriptor2497 var File_ermite_merge_request_proto protoreflect.FileDescriptor
@@ -2187,7 +2508,14 @@ const file_ermite_merge_request_proto_rawDesc = "" +
2187 "\x0econflict_paths\x18\x06 \x03(\tR\rconflictPaths\x128\n" +2508 "\x0econflict_paths\x18\x06 \x03(\tR\rconflictPaths\x128\n" +
2188 "\x18conflict_paths_truncated\x18\a \x01(\bR\x16conflictPathsTruncated\x129\n" +2509 "\x18conflict_paths_truncated\x18\a \x01(\bR\x16conflictPathsTruncated\x129\n" +
2189 "\n" +2510 "\n" +
2190- "checked_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\"\xaa\x04\n" +2511+ "checked_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\"\xa5\x01\n" +
2512+ "\tAutoMerge\x12%\n" +
2513+ "\x04mode\x18\x01 \x01(\x0e2\x11.ermite.MergeModeR\x04mode\x12\x17\n" +
2514+ "\ahead_id\x18\x02 \x01(\tR\x06headId\x12\x1d\n" +
2515+ "\n" +
2516+ "enabled_by\x18\x03 \x01(\tR\tenabledBy\x129\n" +
2517+ "\n" +
2518+ "enabled_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tenabledAt\"\xfd\x04\n" +
2191 "\fMergeRequest\x12\x12\n" +2519 "\fMergeRequest\x12\x12\n" +
2192 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +2520 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2193 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x14\n" +2521 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x14\n" +
@@ -2206,7 +2534,11 @@ const file_ermite_merge_request_proto_rawDesc = "" +
2206 "\x10merged_commit_id\x18\f \x01(\tR\x0emergedCommitId\x120\n" +2534 "\x10merged_commit_id\x18\f \x01(\tR\x0emergedCommitId\x120\n" +
2207 "\n" +2535 "\n" +
2208 "merge_mode\x18\r \x01(\x0e2\x11.ermite.MergeModeR\tmergeMode\x128\n" +2536 "merge_mode\x18\r \x01(\x0e2\x11.ermite.MergeModeR\tmergeMode\x128\n" +
2209- "\fmergeability\x18\x0e \x01(\v2\x14.ermite.MergeabilityR\fmergeability\"\xbf\x03\n" +2537+ "\fmergeability\x18\x0e \x01(\v2\x14.ermite.MergeabilityR\fmergeability\x120\n" +
2538+ "\n" +
2539+ "auto_merge\x18\x0f \x01(\v2\x11.ermite.AutoMergeR\tautoMerge\x12\x1f\n" +
2540+ "\vauto_merged\x18\x10 \x01(\bR\n" +
2541+ "autoMerged\"\xbf\x03\n" +
2210 "\aComment\x12\x0e\n" +2542 "\aComment\x12\x0e\n" +
2211 "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +2543 "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" +
2212 "\x06author\x18\x02 \x01(\tR\x06author\x12\x12\n" +2544 "\x06author\x18\x02 \x01(\tR\x06author\x12\x12\n" +
@@ -2318,7 +2650,19 @@ const file_ermite_merge_request_proto_rawDesc = "" +
2318 "\x14delete_source_branch\x18\x05 \x01(\bR\x12deleteSourceBranch\"\x8a\x01\n" +2650 "\x14delete_source_branch\x18\x05 \x01(\bR\x12deleteSourceBranch\"\x8a\x01\n" +
2319 "\x19MergeMergeRequestResponse\x129\n" +2651 "\x19MergeMergeRequestResponse\x129\n" +
2320 "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\x122\n" +2652 "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\x122\n" +
2321- "\x15source_branch_deleted\x18\x02 \x01(\bR\x13sourceBranchDeleted\"V\n" +2653+ "\x15source_branch_deleted\x18\x02 \x01(\bR\x13sourceBranchDeleted\"\x84\x01\n" +
2654+ "\x16EnableAutoMergeRequest\x12\x12\n" +
2655+ "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2656+ "\x06number\x18\x02 \x01(\x03R\x06number\x12%\n" +
2657+ "\x04mode\x18\x03 \x01(\x0e2\x11.ermite.MergeModeR\x04mode\x12\x17\n" +
2658+ "\ahead_id\x18\x04 \x01(\tR\x06headId\"T\n" +
2659+ "\x17EnableAutoMergeResponse\x129\n" +
2660+ "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"D\n" +
2661+ "\x16CancelAutoMergeRequest\x12\x12\n" +
2662+ "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2663+ "\x06number\x18\x02 \x01(\x03R\x06number\"T\n" +
2664+ "\x17CancelAutoMergeResponse\x129\n" +
2665+ "\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"V\n" +
2322 "\x0fMarkReadRequest\x12\x12\n" +2666 "\x0fMarkReadRequest\x12\x12\n" +
2323 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +2667 "\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2324 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x17\n" +2668 "\x06number\x18\x02 \x01(\x03R\x06number\x12\x17\n" +
@@ -2342,7 +2686,7 @@ const file_ermite_merge_request_proto_rawDesc = "" +
2342 "\x1bMERGEABILITY_STATE_CHECKING\x10\x01\x12!\n" +2686 "\x1bMERGEABILITY_STATE_CHECKING\x10\x01\x12!\n" +
2343 "\x1dMERGEABILITY_STATE_UP_TO_DATE\x10\x02\x12\x1d\n" +2687 "\x1dMERGEABILITY_STATE_UP_TO_DATE\x10\x02\x12\x1d\n" +
2344 "\x19MERGEABILITY_STATE_BEHIND\x10\x03\x12\x1f\n" +2688 "\x19MERGEABILITY_STATE_BEHIND\x10\x03\x12\x1f\n" +
2345- "\x1bMERGEABILITY_STATE_CONFLICT\x10\x042\xbf\x06\n" +2689+ "\x1bMERGEABILITY_STATE_CONFLICT\x10\x042\xe7\a\n" +
2346 "\x13MergeRequestService\x12[\n" +2690 "\x13MergeRequestService\x12[\n" +
2347 "\x12CreateMergeRequest\x12!.ermite.CreateMergeRequestRequest\x1a\".ermite.CreateMergeRequestResponse\x12X\n" +2691 "\x12CreateMergeRequest\x12!.ermite.CreateMergeRequestRequest\x1a\".ermite.CreateMergeRequestResponse\x12X\n" +
2348 "\x11ListMergeRequests\x12 .ermite.ListMergeRequestsRequest\x1a!.ermite.ListMergeRequestsResponse\x12R\n" +2692 "\x11ListMergeRequests\x12 .ermite.ListMergeRequestsRequest\x1a!.ermite.ListMergeRequestsResponse\x12R\n" +
@@ -2353,7 +2697,9 @@ const file_ermite_merge_request_proto_rawDesc = "" +
2353 "\rDeleteComment\x12\x1c.ermite.DeleteCommentRequest\x1a\x1d.ermite.DeleteCommentResponse\x12O\n" +2697 "\rDeleteComment\x12\x1c.ermite.DeleteCommentRequest\x1a\x1d.ermite.DeleteCommentResponse\x12O\n" +
2354 "\x0eResolveComment\x12\x1d.ermite.ResolveCommentRequest\x1a\x1e.ermite.ResolveCommentResponse\x12X\n" +2698 "\x0eResolveComment\x12\x1d.ermite.ResolveCommentRequest\x1a\x1e.ermite.ResolveCommentResponse\x12X\n" +
2355 "\x11CloseMergeRequest\x12 .ermite.CloseMergeRequestRequest\x1a!.ermite.CloseMergeRequestResponse\x12X\n" +2699 "\x11CloseMergeRequest\x12 .ermite.CloseMergeRequestRequest\x1a!.ermite.CloseMergeRequestResponse\x12X\n" +
2356- "\x11MergeMergeRequest\x12 .ermite.MergeMergeRequestRequest\x1a!.ermite.MergeMergeRequestResponse\x12=\n" +2700+ "\x11MergeMergeRequest\x12 .ermite.MergeMergeRequestRequest\x1a!.ermite.MergeMergeRequestResponse\x12R\n" +
2701+ "\x0fEnableAutoMerge\x12\x1e.ermite.EnableAutoMergeRequest\x1a\x1f.ermite.EnableAutoMergeResponse\x12R\n" +
2702+ "\x0fCancelAutoMerge\x12\x1e.ermite.CancelAutoMergeRequest\x1a\x1f.ermite.CancelAutoMergeResponse\x12=\n" +
2357 "\bMarkRead\x12\x17.ermite.MarkReadRequest\x1a\x18.ermite.MarkReadResponseBx\n" +2703 "\bMarkRead\x12\x17.ermite.MarkReadRequest\x1a\x18.ermite.MarkReadResponseBx\n" +
2358 "\n" +2704 "\n" +
2359 "com.ermiteB\x11MergeRequestProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"2705 "com.ermiteB\x11MergeRequestProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
@@ -2371,99 +2717,114 @@ func file_ermite_merge_request_proto_rawDescGZIP() []byte {
2371 }2717 }
2372 2718
2373 var file_ermite_merge_request_proto_enumTypes = make([]protoimpl.EnumInfo, 4)2719 var file_ermite_merge_request_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2374-var file_ermite_merge_request_proto_msgTypes = make([]protoimpl.MessageInfo, 24)2720+var file_ermite_merge_request_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
2375 var file_ermite_merge_request_proto_goTypes = []any{2721 var file_ermite_merge_request_proto_goTypes = []any{
2376 (MergeRequestState)(0), // 0: ermite.MergeRequestState2722 (MergeRequestState)(0), // 0: ermite.MergeRequestState
2377 (DiffSide)(0), // 1: ermite.DiffSide2723 (DiffSide)(0), // 1: ermite.DiffSide
2378 (Verdict)(0), // 2: ermite.Verdict2724 (Verdict)(0), // 2: ermite.Verdict
2379 (MergeabilityState)(0), // 3: ermite.MergeabilityState2725 (MergeabilityState)(0), // 3: ermite.MergeabilityState
2380 (*Mergeability)(nil), // 4: ermite.Mergeability2726 (*Mergeability)(nil), // 4: ermite.Mergeability
2381- (*MergeRequest)(nil), // 5: ermite.MergeRequest2727+ (*AutoMerge)(nil), // 5: ermite.AutoMerge
2382- (*Comment)(nil), // 6: ermite.Comment2728+ (*MergeRequest)(nil), // 6: ermite.MergeRequest
2383- (*AuthorVerdict)(nil), // 7: ermite.AuthorVerdict2729+ (*Comment)(nil), // 7: ermite.Comment
2384- (*CreateMergeRequestRequest)(nil), // 8: ermite.CreateMergeRequestRequest2730+ (*AuthorVerdict)(nil), // 8: ermite.AuthorVerdict
2385- (*CreateMergeRequestResponse)(nil), // 9: ermite.CreateMergeRequestResponse2731+ (*CreateMergeRequestRequest)(nil), // 9: ermite.CreateMergeRequestRequest
2386- (*ListMergeRequestsRequest)(nil), // 10: ermite.ListMergeRequestsRequest2732+ (*CreateMergeRequestResponse)(nil), // 10: ermite.CreateMergeRequestResponse
2387- (*ListMergeRequestsResponse)(nil), // 11: ermite.ListMergeRequestsResponse2733+ (*ListMergeRequestsRequest)(nil), // 11: ermite.ListMergeRequestsRequest
2388- (*GetMergeRequestRequest)(nil), // 12: ermite.GetMergeRequestRequest2734+ (*ListMergeRequestsResponse)(nil), // 12: ermite.ListMergeRequestsResponse
2389- (*GetMergeRequestResponse)(nil), // 13: ermite.GetMergeRequestResponse2735+ (*GetMergeRequestRequest)(nil), // 13: ermite.GetMergeRequestRequest
2390- (*AddCommentRequest)(nil), // 14: ermite.AddCommentRequest2736+ (*GetMergeRequestResponse)(nil), // 14: ermite.GetMergeRequestResponse
2391- (*AddCommentResponse)(nil), // 15: ermite.AddCommentResponse2737+ (*AddCommentRequest)(nil), // 15: ermite.AddCommentRequest
2392- (*EditCommentRequest)(nil), // 16: ermite.EditCommentRequest2738+ (*AddCommentResponse)(nil), // 16: ermite.AddCommentResponse
2393- (*EditCommentResponse)(nil), // 17: ermite.EditCommentResponse2739+ (*EditCommentRequest)(nil), // 17: ermite.EditCommentRequest
2394- (*DeleteCommentRequest)(nil), // 18: ermite.DeleteCommentRequest2740+ (*EditCommentResponse)(nil), // 18: ermite.EditCommentResponse
2395- (*DeleteCommentResponse)(nil), // 19: ermite.DeleteCommentResponse2741+ (*DeleteCommentRequest)(nil), // 19: ermite.DeleteCommentRequest
2396- (*ResolveCommentRequest)(nil), // 20: ermite.ResolveCommentRequest2742+ (*DeleteCommentResponse)(nil), // 20: ermite.DeleteCommentResponse
2397- (*ResolveCommentResponse)(nil), // 21: ermite.ResolveCommentResponse2743+ (*ResolveCommentRequest)(nil), // 21: ermite.ResolveCommentRequest
2398- (*CloseMergeRequestRequest)(nil), // 22: ermite.CloseMergeRequestRequest2744+ (*ResolveCommentResponse)(nil), // 22: ermite.ResolveCommentResponse
2399- (*CloseMergeRequestResponse)(nil), // 23: ermite.CloseMergeRequestResponse2745+ (*CloseMergeRequestRequest)(nil), // 23: ermite.CloseMergeRequestRequest
2400- (*MergeMergeRequestRequest)(nil), // 24: ermite.MergeMergeRequestRequest2746+ (*CloseMergeRequestResponse)(nil), // 24: ermite.CloseMergeRequestResponse
2401- (*MergeMergeRequestResponse)(nil), // 25: ermite.MergeMergeRequestResponse2747+ (*MergeMergeRequestRequest)(nil), // 25: ermite.MergeMergeRequestRequest
2402- (*MarkReadRequest)(nil), // 26: ermite.MarkReadRequest2748+ (*MergeMergeRequestResponse)(nil), // 26: ermite.MergeMergeRequestResponse
2403- (*MarkReadResponse)(nil), // 27: ermite.MarkReadResponse2749+ (*EnableAutoMergeRequest)(nil), // 27: ermite.EnableAutoMergeRequest
2404- (*timestamppb.Timestamp)(nil), // 28: google.protobuf.Timestamp2750+ (*EnableAutoMergeResponse)(nil), // 28: ermite.EnableAutoMergeResponse
2405- (MergeMode)(0), // 29: ermite.MergeMode2751+ (*CancelAutoMergeRequest)(nil), // 29: ermite.CancelAutoMergeRequest
2406- (*Commit)(nil), // 30: ermite.Commit2752+ (*CancelAutoMergeResponse)(nil), // 30: ermite.CancelAutoMergeResponse
2407- (*DiffStats)(nil), // 31: ermite.DiffStats2753+ (*MarkReadRequest)(nil), // 31: ermite.MarkReadRequest
2408- (*Diff)(nil), // 32: ermite.Diff2754+ (*MarkReadResponse)(nil), // 32: ermite.MarkReadResponse
2755+ (*timestamppb.Timestamp)(nil), // 33: google.protobuf.Timestamp
2756+ (MergeMode)(0), // 34: ermite.MergeMode
2757+ (*Commit)(nil), // 35: ermite.Commit
2758+ (*DiffStats)(nil), // 36: ermite.DiffStats
2759+ (*Diff)(nil), // 37: ermite.Diff
2409 }2760 }
2410 var file_ermite_merge_request_proto_depIdxs = []int32{2761 var file_ermite_merge_request_proto_depIdxs = []int32{
2411 3, // 0: ermite.Mergeability.state:type_name -> ermite.MergeabilityState2762 3, // 0: ermite.Mergeability.state:type_name -> ermite.MergeabilityState
2412- 28, // 1: ermite.Mergeability.checked_at:type_name -> google.protobuf.Timestamp2763+ 33, // 1: ermite.Mergeability.checked_at:type_name -> google.protobuf.Timestamp
2413- 0, // 2: ermite.MergeRequest.state:type_name -> ermite.MergeRequestState2764+ 34, // 2: ermite.AutoMerge.mode:type_name -> ermite.MergeMode
2414- 28, // 3: ermite.MergeRequest.created_at:type_name -> google.protobuf.Timestamp2765+ 33, // 3: ermite.AutoMerge.enabled_at:type_name -> google.protobuf.Timestamp
2415- 28, // 4: ermite.MergeRequest.updated_at:type_name -> google.protobuf.Timestamp2766+ 0, // 4: ermite.MergeRequest.state:type_name -> ermite.MergeRequestState
2416- 29, // 5: ermite.MergeRequest.merge_mode:type_name -> ermite.MergeMode2767+ 33, // 5: ermite.MergeRequest.created_at:type_name -> google.protobuf.Timestamp
2417- 4, // 6: ermite.MergeRequest.mergeability:type_name -> ermite.Mergeability2768+ 33, // 6: ermite.MergeRequest.updated_at:type_name -> google.protobuf.Timestamp
2418- 1, // 7: ermite.Comment.side:type_name -> ermite.DiffSide2769+ 34, // 7: ermite.MergeRequest.merge_mode:type_name -> ermite.MergeMode
2419- 28, // 8: ermite.Comment.created_at:type_name -> google.protobuf.Timestamp2770+ 4, // 8: ermite.MergeRequest.mergeability:type_name -> ermite.Mergeability
2420- 2, // 9: ermite.Comment.verdict:type_name -> ermite.Verdict2771+ 5, // 9: ermite.MergeRequest.auto_merge:type_name -> ermite.AutoMerge
2421- 28, // 10: ermite.Comment.edited_at:type_name -> google.protobuf.Timestamp2772+ 1, // 10: ermite.Comment.side:type_name -> ermite.DiffSide
2422- 2, // 11: ermite.AuthorVerdict.verdict:type_name -> ermite.Verdict2773+ 33, // 11: ermite.Comment.created_at:type_name -> google.protobuf.Timestamp
2423- 28, // 12: ermite.AuthorVerdict.created_at:type_name -> google.protobuf.Timestamp2774+ 2, // 12: ermite.Comment.verdict:type_name -> ermite.Verdict
2424- 5, // 13: ermite.CreateMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest2775+ 33, // 13: ermite.Comment.edited_at:type_name -> google.protobuf.Timestamp
2425- 0, // 14: ermite.ListMergeRequestsRequest.state:type_name -> ermite.MergeRequestState2776+ 2, // 14: ermite.AuthorVerdict.verdict:type_name -> ermite.Verdict
2426- 5, // 15: ermite.ListMergeRequestsResponse.merge_requests:type_name -> ermite.MergeRequest2777+ 33, // 15: ermite.AuthorVerdict.created_at:type_name -> google.protobuf.Timestamp
2427- 5, // 16: ermite.GetMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest2778+ 6, // 16: ermite.CreateMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2428- 30, // 17: ermite.GetMergeRequestResponse.commits:type_name -> ermite.Commit2779+ 0, // 17: ermite.ListMergeRequestsRequest.state:type_name -> ermite.MergeRequestState
2429- 31, // 18: ermite.GetMergeRequestResponse.stats:type_name -> ermite.DiffStats2780+ 6, // 18: ermite.ListMergeRequestsResponse.merge_requests:type_name -> ermite.MergeRequest
2430- 32, // 19: ermite.GetMergeRequestResponse.diff:type_name -> ermite.Diff2781+ 6, // 19: ermite.GetMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2431- 6, // 20: ermite.GetMergeRequestResponse.comments:type_name -> ermite.Comment2782+ 35, // 20: ermite.GetMergeRequestResponse.commits:type_name -> ermite.Commit
2432- 7, // 21: ermite.GetMergeRequestResponse.verdicts:type_name -> ermite.AuthorVerdict2783+ 36, // 21: ermite.GetMergeRequestResponse.stats:type_name -> ermite.DiffStats
2433- 1, // 22: ermite.AddCommentRequest.side:type_name -> ermite.DiffSide2784+ 37, // 22: ermite.GetMergeRequestResponse.diff:type_name -> ermite.Diff
2434- 2, // 23: ermite.AddCommentRequest.verdict:type_name -> ermite.Verdict2785+ 7, // 23: ermite.GetMergeRequestResponse.comments:type_name -> ermite.Comment
2435- 6, // 24: ermite.AddCommentResponse.comment:type_name -> ermite.Comment2786+ 8, // 24: ermite.GetMergeRequestResponse.verdicts:type_name -> ermite.AuthorVerdict
2436- 6, // 25: ermite.EditCommentResponse.comment:type_name -> ermite.Comment2787+ 1, // 25: ermite.AddCommentRequest.side:type_name -> ermite.DiffSide
2437- 6, // 26: ermite.DeleteCommentResponse.comment:type_name -> ermite.Comment2788+ 2, // 26: ermite.AddCommentRequest.verdict:type_name -> ermite.Verdict
2438- 6, // 27: ermite.ResolveCommentResponse.comment:type_name -> ermite.Comment2789+ 7, // 27: ermite.AddCommentResponse.comment:type_name -> ermite.Comment
2439- 5, // 28: ermite.CloseMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest2790+ 7, // 28: ermite.EditCommentResponse.comment:type_name -> ermite.Comment
2440- 29, // 29: ermite.MergeMergeRequestRequest.mode:type_name -> ermite.MergeMode2791+ 7, // 29: ermite.DeleteCommentResponse.comment:type_name -> ermite.Comment
2441- 5, // 30: ermite.MergeMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest2792+ 7, // 30: ermite.ResolveCommentResponse.comment:type_name -> ermite.Comment
2442- 8, // 31: ermite.MergeRequestService.CreateMergeRequest:input_type -> ermite.CreateMergeRequestRequest2793+ 6, // 31: ermite.CloseMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2443- 10, // 32: ermite.MergeRequestService.ListMergeRequests:input_type -> ermite.ListMergeRequestsRequest2794+ 34, // 32: ermite.MergeMergeRequestRequest.mode:type_name -> ermite.MergeMode
2444- 12, // 33: ermite.MergeRequestService.GetMergeRequest:input_type -> ermite.GetMergeRequestRequest2795+ 6, // 33: ermite.MergeMergeRequestResponse.merge_request:type_name -> ermite.MergeRequest
2445- 14, // 34: ermite.MergeRequestService.AddComment:input_type -> ermite.AddCommentRequest2796+ 34, // 34: ermite.EnableAutoMergeRequest.mode:type_name -> ermite.MergeMode
2446- 16, // 35: ermite.MergeRequestService.EditComment:input_type -> ermite.EditCommentRequest2797+ 6, // 35: ermite.EnableAutoMergeResponse.merge_request:type_name -> ermite.MergeRequest
2447- 18, // 36: ermite.MergeRequestService.DeleteComment:input_type -> ermite.DeleteCommentRequest2798+ 6, // 36: ermite.CancelAutoMergeResponse.merge_request:type_name -> ermite.MergeRequest
2448- 20, // 37: ermite.MergeRequestService.ResolveComment:input_type -> ermite.ResolveCommentRequest2799+ 9, // 37: ermite.MergeRequestService.CreateMergeRequest:input_type -> ermite.CreateMergeRequestRequest
2449- 22, // 38: ermite.MergeRequestService.CloseMergeRequest:input_type -> ermite.CloseMergeRequestRequest2800+ 11, // 38: ermite.MergeRequestService.ListMergeRequests:input_type -> ermite.ListMergeRequestsRequest
2450- 24, // 39: ermite.MergeRequestService.MergeMergeRequest:input_type -> ermite.MergeMergeRequestRequest2801+ 13, // 39: ermite.MergeRequestService.GetMergeRequest:input_type -> ermite.GetMergeRequestRequest
2451- 26, // 40: ermite.MergeRequestService.MarkRead:input_type -> ermite.MarkReadRequest2802+ 15, // 40: ermite.MergeRequestService.AddComment:input_type -> ermite.AddCommentRequest
2452- 9, // 41: ermite.MergeRequestService.CreateMergeRequest:output_type -> ermite.CreateMergeRequestResponse2803+ 17, // 41: ermite.MergeRequestService.EditComment:input_type -> ermite.EditCommentRequest
2453- 11, // 42: ermite.MergeRequestService.ListMergeRequests:output_type -> ermite.ListMergeRequestsResponse2804+ 19, // 42: ermite.MergeRequestService.DeleteComment:input_type -> ermite.DeleteCommentRequest
2454- 13, // 43: ermite.MergeRequestService.GetMergeRequest:output_type -> ermite.GetMergeRequestResponse2805+ 21, // 43: ermite.MergeRequestService.ResolveComment:input_type -> ermite.ResolveCommentRequest
2455- 15, // 44: ermite.MergeRequestService.AddComment:output_type -> ermite.AddCommentResponse2806+ 23, // 44: ermite.MergeRequestService.CloseMergeRequest:input_type -> ermite.CloseMergeRequestRequest
2456- 17, // 45: ermite.MergeRequestService.EditComment:output_type -> ermite.EditCommentResponse2807+ 25, // 45: ermite.MergeRequestService.MergeMergeRequest:input_type -> ermite.MergeMergeRequestRequest
2457- 19, // 46: ermite.MergeRequestService.DeleteComment:output_type -> ermite.DeleteCommentResponse2808+ 27, // 46: ermite.MergeRequestService.EnableAutoMerge:input_type -> ermite.EnableAutoMergeRequest
2458- 21, // 47: ermite.MergeRequestService.ResolveComment:output_type -> ermite.ResolveCommentResponse2809+ 29, // 47: ermite.MergeRequestService.CancelAutoMerge:input_type -> ermite.CancelAutoMergeRequest
2459- 23, // 48: ermite.MergeRequestService.CloseMergeRequest:output_type -> ermite.CloseMergeRequestResponse2810+ 31, // 48: ermite.MergeRequestService.MarkRead:input_type -> ermite.MarkReadRequest
2460- 25, // 49: ermite.MergeRequestService.MergeMergeRequest:output_type -> ermite.MergeMergeRequestResponse2811+ 10, // 49: ermite.MergeRequestService.CreateMergeRequest:output_type -> ermite.CreateMergeRequestResponse
2461- 27, // 50: ermite.MergeRequestService.MarkRead:output_type -> ermite.MarkReadResponse2812+ 12, // 50: ermite.MergeRequestService.ListMergeRequests:output_type -> ermite.ListMergeRequestsResponse
2462- 41, // [41:51] is the sub-list for method output_type2813+ 14, // 51: ermite.MergeRequestService.GetMergeRequest:output_type -> ermite.GetMergeRequestResponse
2463- 31, // [31:41] is the sub-list for method input_type2814+ 16, // 52: ermite.MergeRequestService.AddComment:output_type -> ermite.AddCommentResponse
2464- 31, // [31:31] is the sub-list for extension type_name2815+ 18, // 53: ermite.MergeRequestService.EditComment:output_type -> ermite.EditCommentResponse
2465- 31, // [31:31] is the sub-list for extension extendee2816+ 20, // 54: ermite.MergeRequestService.DeleteComment:output_type -> ermite.DeleteCommentResponse
2466- 0, // [0:31] is the sub-list for field type_name2817+ 22, // 55: ermite.MergeRequestService.ResolveComment:output_type -> ermite.ResolveCommentResponse
2818+ 24, // 56: ermite.MergeRequestService.CloseMergeRequest:output_type -> ermite.CloseMergeRequestResponse
2819+ 26, // 57: ermite.MergeRequestService.MergeMergeRequest:output_type -> ermite.MergeMergeRequestResponse
2820+ 28, // 58: ermite.MergeRequestService.EnableAutoMerge:output_type -> ermite.EnableAutoMergeResponse
2821+ 30, // 59: ermite.MergeRequestService.CancelAutoMerge:output_type -> ermite.CancelAutoMergeResponse
2822+ 32, // 60: ermite.MergeRequestService.MarkRead:output_type -> ermite.MarkReadResponse
2823+ 49, // [49:61] is the sub-list for method output_type
2824+ 37, // [37:49] is the sub-list for method input_type
2825+ 37, // [37:37] is the sub-list for extension type_name
2826+ 37, // [37:37] is the sub-list for extension extendee
2827+ 0, // [0:37] is the sub-list for field type_name
2467 }2828 }
2468 2829
2469 func init() { file_ermite_merge_request_proto_init() }2830 func init() { file_ermite_merge_request_proto_init() }
@@ -2479,7 +2840,7 @@ func file_ermite_merge_request_proto_init() {
2479 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),2840 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2480 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_merge_request_proto_rawDesc), len(file_ermite_merge_request_proto_rawDesc)),2841 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_merge_request_proto_rawDesc), len(file_ermite_merge_request_proto_rawDesc)),
2481 NumEnums: 4,2842 NumEnums: 4,
2482- NumMessages: 24,2843+ NumMessages: 29,
2483 NumExtensions: 0,2844 NumExtensions: 0,
2484 NumServices: 1,2845 NumServices: 1,
2485 },2846 },
M gen/ermite/repo.pb.go +20 -8 generated file: collapsed
M gen/ermite/server.pb.go +5 -1 generated file: collapsed
M gen_test.go +2 -0
@@ -54,6 +54,8 @@ func TestProcedures(t *testing.T) {
5454 {ermiteconnect.MergeRequestServiceCloseMergeRequestProcedure, "/ermite.MergeRequestService/CloseMergeRequest"},
5555 {ermiteconnect.MergeRequestServiceMergeMergeRequestProcedure, "/ermite.MergeRequestService/MergeMergeRequest"},
5656 {ermiteconnect.MergeRequestServiceMarkReadProcedure, "/ermite.MergeRequestService/MarkRead"},
57+ {ermiteconnect.MergeRequestServiceEnableAutoMergeProcedure, "/ermite.MergeRequestService/EnableAutoMerge"},
58+ {ermiteconnect.MergeRequestServiceCancelAutoMergeProcedure, "/ermite.MergeRequestService/CancelAutoMerge"},
5759 {ermiteconnect.SessionServiceCreateLoginLinkProcedure, "/ermite.SessionService/CreateLoginLink"},
5860 {ermiteconnect.SessionServiceSignOutEverywhereProcedure, "/ermite.SessionService/SignOutEverywhere"},
5961 {ermiteconnect.ServerServiceGetVersionProcedure, "/ermite.ServerService/GetVersion"},
@@ -54,6 +54,8 @@ func TestProcedures(t *testing.T) {
54 {ermiteconnect.MergeRequestServiceCloseMergeRequestProcedure, "/ermite.MergeRequestService/CloseMergeRequest"},54 {ermiteconnect.MergeRequestServiceCloseMergeRequestProcedure, "/ermite.MergeRequestService/CloseMergeRequest"},
55 {ermiteconnect.MergeRequestServiceMergeMergeRequestProcedure, "/ermite.MergeRequestService/MergeMergeRequest"},55 {ermiteconnect.MergeRequestServiceMergeMergeRequestProcedure, "/ermite.MergeRequestService/MergeMergeRequest"},
56 {ermiteconnect.MergeRequestServiceMarkReadProcedure, "/ermite.MergeRequestService/MarkRead"},56 {ermiteconnect.MergeRequestServiceMarkReadProcedure, "/ermite.MergeRequestService/MarkRead"},
57+ {ermiteconnect.MergeRequestServiceEnableAutoMergeProcedure, "/ermite.MergeRequestService/EnableAutoMerge"},
58+ {ermiteconnect.MergeRequestServiceCancelAutoMergeProcedure, "/ermite.MergeRequestService/CancelAutoMerge"},
57 {ermiteconnect.SessionServiceCreateLoginLinkProcedure, "/ermite.SessionService/CreateLoginLink"},59 {ermiteconnect.SessionServiceCreateLoginLinkProcedure, "/ermite.SessionService/CreateLoginLink"},
58 {ermiteconnect.SessionServiceSignOutEverywhereProcedure, "/ermite.SessionService/SignOutEverywhere"},60 {ermiteconnect.SessionServiceSignOutEverywhereProcedure, "/ermite.SessionService/SignOutEverywhere"},
59 {ermiteconnect.ServerServiceGetVersionProcedure, "/ermite.ServerService/GetVersion"},61 {ermiteconnect.ServerServiceGetVersionProcedure, "/ermite.ServerService/GetVersion"},
M proto/ermite/event.proto +23 -0
@@ -140,6 +140,11 @@ message Event {
140140 MirrorFailed mirror_failed = 23;
141141 // MirrorRecovered: a failing or paused mirror succeeded again.
142142 MirrorRecovered mirror_recovered = 24;
143+ // MergeRequestAutoMergeEnabled: auto-merge was enabled on a merge request.
144+ MergeRequestAutoMergeEnabled merge_request_auto_merge_enabled = 25;
145+ // MergeRequestAutoMergeCancelled: the auto-merge of a merge request was
146+ // cancelled.
147+ MergeRequestAutoMergeCancelled merge_request_auto_merge_cancelled = 26;
143148 }
144149 }
145150
@@ -190,6 +195,24 @@ message MergeRequestOpened {
190195 message MergeRequestMerged {
191196 // MergeRequest is the merge request after the merge.
192197 MergeRequest merge_request = 1;
198+ // Auto is true when the server merged it by auto-merge.
199+ bool auto = 2;
200+}
201+
202+// MergeRequestAutoMergeEnabled reports auto-merge enabled on an open merge
203+// request. It is published again when auto-merge is enabled again.
204+message MergeRequestAutoMergeEnabled {
205+ // MergeRequest is the merge request, with auto_merge set.
206+ MergeRequest merge_request = 1;
207+}
208+
209+// MergeRequestAutoMergeCancelled reports the auto-merge of a merge request
210+// cancelled, by a caller or by the server.
211+message MergeRequestAutoMergeCancelled {
212+ // MergeRequest is the merge request, with auto_merge unset.
213+ MergeRequest merge_request = 1;
214+ // Reason says in one line why it was cancelled. For display only.
215+ string reason = 2;
193216 }
194217
195218 // MergeRequestMergeability reports the mergeability of an open merge request.
@@ -140,6 +140,11 @@ message Event {
140 MirrorFailed mirror_failed = 23;140 MirrorFailed mirror_failed = 23;
141 // MirrorRecovered: a failing or paused mirror succeeded again.141 // MirrorRecovered: a failing or paused mirror succeeded again.
142 MirrorRecovered mirror_recovered = 24;142 MirrorRecovered mirror_recovered = 24;
143+ // MergeRequestAutoMergeEnabled: auto-merge was enabled on a merge request.
144+ MergeRequestAutoMergeEnabled merge_request_auto_merge_enabled = 25;
145+ // MergeRequestAutoMergeCancelled: the auto-merge of a merge request was
146+ // cancelled.
147+ MergeRequestAutoMergeCancelled merge_request_auto_merge_cancelled = 26;
143 }148 }
144 }149 }
145 150
@@ -190,6 +195,24 @@ message MergeRequestOpened {
190 message MergeRequestMerged {195 message MergeRequestMerged {
191 // MergeRequest is the merge request after the merge.196 // MergeRequest is the merge request after the merge.
192 MergeRequest merge_request = 1;197 MergeRequest merge_request = 1;
198+ // Auto is true when the server merged it by auto-merge.
199+ bool auto = 2;
200+}
201+
202+// MergeRequestAutoMergeEnabled reports auto-merge enabled on an open merge
203+// request. It is published again when auto-merge is enabled again.
204+message MergeRequestAutoMergeEnabled {
205+ // MergeRequest is the merge request, with auto_merge set.
206+ MergeRequest merge_request = 1;
207+}
208+
209+// MergeRequestAutoMergeCancelled reports the auto-merge of a merge request
210+// cancelled, by a caller or by the server.
211+message MergeRequestAutoMergeCancelled {
212+ // MergeRequest is the merge request, with auto_merge unset.
213+ MergeRequest merge_request = 1;
214+ // Reason says in one line why it was cancelled. For display only.
215+ string reason = 2;
193 }216 }
194 217
195 // MergeRequestMergeability reports the mergeability of an open merge request.218 // MergeRequestMergeability reports the mergeability of an open merge request.
M proto/ermite/merge_request.proto +81 -0
@@ -88,6 +88,21 @@ message Mergeability {
8888 google.protobuf.Timestamp checked_at = 8;
8989 }
9090
91+// AutoMerge is the pending auto-merge of an open merge request: the server
92+// merges it by itself once its checks pass. Set only by servers with the
93+// "merge_requests.auto_merge" feature.
94+message AutoMerge {
95+ // Mode is the merge mode used. Never MERGE_MODE_UNSPECIFIED.
96+ MergeMode mode = 1;
97+ // HeadId is the head the auto-merge was enabled for. A new head cancels the
98+ // auto-merge.
99+ string head_id = 2;
100+ // EnabledBy names who enabled the auto-merge, like MergeRequest.author.
101+ string enabled_by = 3;
102+ // EnabledAt is when the auto-merge was enabled.
103+ google.protobuf.Timestamp enabled_at = 4;
104+}
105+
91106 // MergeRequest asks to merge one branch of a repository into another branch
92107 // of the same repository. It is about a branch, not about who wrote it.
93108 message MergeRequest {
@@ -138,6 +153,13 @@ message MergeRequest {
138153 // hint: MergeMergeRequest checks again. Set only by servers with the
139154 // "merge_requests.mergeability" feature.
140155 Mergeability mergeability = 14;
156+ // AutoMerge is the pending auto-merge. Set only while the merge request is
157+ // OPEN and auto-merge is enabled; unset once merged or closed. Set only by
158+ // servers with the "merge_requests.auto_merge" feature.
159+ AutoMerge auto_merge = 15;
160+ // AutoMerged is true when the server merged the merge request by auto-merge.
161+ // Always false unless state is MERGED.
162+ bool auto_merged = 16;
141163 }
142164
143165 // Comment is a note on a merge request, either general or attached to a line
@@ -294,6 +316,29 @@ service MergeRequestService {
294316 // failed_precondition (not open). On success the server publishes
295317 // MergeRequestMerged then Pushed for the target branch.
296318 rpc MergeMergeRequest(MergeMergeRequestRequest) returns (MergeMergeRequestResponse);
319+ // EnableAutoMerge asks the server to merge an open merge request by itself
320+ // once at least one check passed on its head, every run created on that head
321+ // is complete, and the merge would be accepted whatever
322+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
323+ // token limited to branches, write access to the target branch
324+ // (permission_denied otherwise). The server records the caller, the mode and
325+ // the head the caller saw; it merges as the caller, after resolving the caller
326+ // again, and cancels the auto-merge if the caller can no longer merge, if the
327+ // mode is no longer allowed, if the source branch moves or if the setting is
328+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
329+ // if head_id is empty or not a commit id, and with failed_precondition if the
330+ // merge request is not open, if the source branch no longer points to head_id
331+ // ("branch moved, read again"), is a draft,
332+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
333+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
334+ // Publishes MergeRequestAutoMergeEnabled. Needs the
335+ // "merge_requests.auto_merge" feature.
336+ rpc EnableAutoMerge(EnableAutoMergeRequest) returns (EnableAutoMergeResponse);
337+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
338+ // Needs the mr:merge scope and, for a token limited to branches, write access
339+ // to the target branch. Fails with failed_precondition if auto-merge is not
340+ // enabled. Publishes MergeRequestAutoMergeCancelled.
341+ rpc CancelAutoMerge(CancelAutoMergeRequest) returns (CancelAutoMergeResponse);
297342 // MarkRead records the head the caller has reviewed, for the since_last_read
298343 // option of GetMergeRequest. There is one read position per merge request,
299344 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -539,6 +584,42 @@ message MergeMergeRequestResponse {
539584 bool source_branch_deleted = 2;
540585 }
541586
587+// EnableAutoMergeRequest describes the auto-merge to enable.
588+message EnableAutoMergeRequest {
589+ // Repo is the repository name.
590+ string repo = 1;
591+ // Number is the merge request number.
592+ int64 number = 2;
593+ // Mode is how to merge. MERGE_MODE_UNSPECIFIED means fast-forward. The mode
594+ // must be in RepoSettings.allowed_merge_modes of the repository.
595+ MergeMode mode = 3;
596+ // HeadId is the full id of the commit the caller reviewed, that is the
597+ // MergeRequest.head_id it was shown. Required. The auto-merge is enabled
598+ // only if the source branch still points to it; failed_precondition (branch
599+ // moved) otherwise.
600+ string head_id = 4;
601+}
602+
603+// EnableAutoMergeResponse holds the merge request with auto-merge enabled.
604+message EnableAutoMergeResponse {
605+ // MergeRequest is the merge request, with auto_merge set.
606+ MergeRequest merge_request = 1;
607+}
608+
609+// CancelAutoMergeRequest names the merge request whose auto-merge to cancel.
610+message CancelAutoMergeRequest {
611+ // Repo is the repository name.
612+ string repo = 1;
613+ // Number is the merge request number.
614+ int64 number = 2;
615+}
616+
617+// CancelAutoMergeResponse holds the merge request after the cancellation.
618+message CancelAutoMergeResponse {
619+ // MergeRequest is the merge request, with auto_merge unset.
620+ MergeRequest merge_request = 1;
621+}
622+
542623 // MarkReadRequest records a read position.
543624 message MarkReadRequest {
544625 // Repo is the repository name.
@@ -88,6 +88,21 @@ message Mergeability {
88 google.protobuf.Timestamp checked_at = 8;88 google.protobuf.Timestamp checked_at = 8;
89 }89 }
90 90
91+// AutoMerge is the pending auto-merge of an open merge request: the server
92+// merges it by itself once its checks pass. Set only by servers with the
93+// "merge_requests.auto_merge" feature.
94+message AutoMerge {
95+ // Mode is the merge mode used. Never MERGE_MODE_UNSPECIFIED.
96+ MergeMode mode = 1;
97+ // HeadId is the head the auto-merge was enabled for. A new head cancels the
98+ // auto-merge.
99+ string head_id = 2;
100+ // EnabledBy names who enabled the auto-merge, like MergeRequest.author.
101+ string enabled_by = 3;
102+ // EnabledAt is when the auto-merge was enabled.
103+ google.protobuf.Timestamp enabled_at = 4;
104+}
105+
91 // MergeRequest asks to merge one branch of a repository into another branch106 // MergeRequest asks to merge one branch of a repository into another branch
92 // of the same repository. It is about a branch, not about who wrote it.107 // of the same repository. It is about a branch, not about who wrote it.
93 message MergeRequest {108 message MergeRequest {
@@ -138,6 +153,13 @@ message MergeRequest {
138 // hint: MergeMergeRequest checks again. Set only by servers with the153 // hint: MergeMergeRequest checks again. Set only by servers with the
139 // "merge_requests.mergeability" feature.154 // "merge_requests.mergeability" feature.
140 Mergeability mergeability = 14;155 Mergeability mergeability = 14;
156+ // AutoMerge is the pending auto-merge. Set only while the merge request is
157+ // OPEN and auto-merge is enabled; unset once merged or closed. Set only by
158+ // servers with the "merge_requests.auto_merge" feature.
159+ AutoMerge auto_merge = 15;
160+ // AutoMerged is true when the server merged the merge request by auto-merge.
161+ // Always false unless state is MERGED.
162+ bool auto_merged = 16;
141 }163 }
142 164
143 // Comment is a note on a merge request, either general or attached to a line165 // Comment is a note on a merge request, either general or attached to a line
@@ -294,6 +316,29 @@ service MergeRequestService {
294 // failed_precondition (not open). On success the server publishes316 // failed_precondition (not open). On success the server publishes
295 // MergeRequestMerged then Pushed for the target branch.317 // MergeRequestMerged then Pushed for the target branch.
296 rpc MergeMergeRequest(MergeMergeRequestRequest) returns (MergeMergeRequestResponse);318 rpc MergeMergeRequest(MergeMergeRequestRequest) returns (MergeMergeRequestResponse);
319+ // EnableAutoMerge asks the server to merge an open merge request by itself
320+ // once at least one check passed on its head, every run created on that head
321+ // is complete, and the merge would be accepted whatever
322+ // RepoSettings.failing_checks_block says. Needs the mr:merge scope and, for a
323+ // token limited to branches, write access to the target branch
324+ // (permission_denied otherwise). The server records the caller, the mode and
325+ // the head the caller saw; it merges as the caller, after resolving the caller
326+ // again, and cancels the auto-merge if the caller can no longer merge, if the
327+ // mode is no longer allowed, if the source branch moves or if the setting is
328+ // turned off. Fails with invalid_argument if the mode is not a merge mode or
329+ // if head_id is empty or not a commit id, and with failed_precondition if the
330+ // merge request is not open, if the source branch no longer points to head_id
331+ // ("branch moved, read again"), is a draft,
332+ // RepoSettings.allow_auto_merge is off, the mode is not allowed by
333+ // RepoSettings, or the server has no CI. Enabling again replaces the mode.
334+ // Publishes MergeRequestAutoMergeEnabled. Needs the
335+ // "merge_requests.auto_merge" feature.
336+ rpc EnableAutoMerge(EnableAutoMergeRequest) returns (EnableAutoMergeResponse);
337+ // CancelAutoMerge cancels the pending auto-merge of an open merge request.
338+ // Needs the mr:merge scope and, for a token limited to branches, write access
339+ // to the target branch. Fails with failed_precondition if auto-merge is not
340+ // enabled. Publishes MergeRequestAutoMergeCancelled.
341+ rpc CancelAutoMerge(CancelAutoMergeRequest) returns (CancelAutoMergeResponse);
297 // MarkRead records the head the caller has reviewed, for the since_last_read342 // MarkRead records the head the caller has reviewed, for the since_last_read
298 // option of GetMergeRequest. There is one read position per merge request,343 // option of GetMergeRequest. There is one read position per merge request,
299 // the reviewer's. Needs the mr:write scope. Marking a commit that does not344 // the reviewer's. Needs the mr:write scope. Marking a commit that does not
@@ -539,6 +584,42 @@ message MergeMergeRequestResponse {
539 bool source_branch_deleted = 2;584 bool source_branch_deleted = 2;
540 }585 }
541 586
587+// EnableAutoMergeRequest describes the auto-merge to enable.
588+message EnableAutoMergeRequest {
589+ // Repo is the repository name.
590+ string repo = 1;
591+ // Number is the merge request number.
592+ int64 number = 2;
593+ // Mode is how to merge. MERGE_MODE_UNSPECIFIED means fast-forward. The mode
594+ // must be in RepoSettings.allowed_merge_modes of the repository.
595+ MergeMode mode = 3;
596+ // HeadId is the full id of the commit the caller reviewed, that is the
597+ // MergeRequest.head_id it was shown. Required. The auto-merge is enabled
598+ // only if the source branch still points to it; failed_precondition (branch
599+ // moved) otherwise.
600+ string head_id = 4;
601+}
602+
603+// EnableAutoMergeResponse holds the merge request with auto-merge enabled.
604+message EnableAutoMergeResponse {
605+ // MergeRequest is the merge request, with auto_merge set.
606+ MergeRequest merge_request = 1;
607+}
608+
609+// CancelAutoMergeRequest names the merge request whose auto-merge to cancel.
610+message CancelAutoMergeRequest {
611+ // Repo is the repository name.
612+ string repo = 1;
613+ // Number is the merge request number.
614+ int64 number = 2;
615+}
616+
617+// CancelAutoMergeResponse holds the merge request after the cancellation.
618+message CancelAutoMergeResponse {
619+ // MergeRequest is the merge request, with auto_merge unset.
620+ MergeRequest merge_request = 1;
621+}
622+
542 // MarkReadRequest records a read position.623 // MarkReadRequest records a read position.
543 message MarkReadRequest {624 message MarkReadRequest {
544 // Repo is the repository name.625 // Repo is the repository name.
M proto/ermite/repo.proto +7 -3
@@ -47,6 +47,10 @@ message RepoSettings {
4747 bool failing_checks_block = 2;
4848 // Issues is the issue participation mode of the repository.
4949 IssuesMode issues = 3;
50+ // AllowAutoMerge says whether auto-merge can be enabled on the merge requests
51+ // of the repository (see MergeRequestService.EnableAutoMerge). It is false by
52+ // default. Set only by servers with the "merge_requests.auto_merge" feature.
53+ bool allow_auto_merge = 4;
5054 }
5155
5256 // Repo is the metadata of a repository. Git-owned state (refs, trees, history)
@@ -166,9 +170,9 @@ message UpdateRepoRequest {
166170 // the call fails with failed_precondition.
167171 string default_branch = 4;
168172 // UpdateMask lists the fields to change: "description", "visibility",
169- // "default_branch", "topics", "settings.allowed_merge_modes" and/or
170- // "settings.failing_checks_block". "settings" stands for both merge settings
171- // paths. It must not be empty unless issues is set. Other paths are
173+ // "default_branch", "topics", "settings.allowed_merge_modes",
174+ // "settings.failing_checks_block" and/or "settings.allow_auto_merge".
175+ // "settings" stands for the three merge settings paths. It must not be empty unless issues is set. Other paths are
172176 // invalid_argument, including "settings.issues" and "issues": the issues
173177 // field is applied outside the mask.
174178 google.protobuf.FieldMask update_mask = 5;
@@ -47,6 +47,10 @@ message RepoSettings {
47 bool failing_checks_block = 2;47 bool failing_checks_block = 2;
48 // Issues is the issue participation mode of the repository.48 // Issues is the issue participation mode of the repository.
49 IssuesMode issues = 3;49 IssuesMode issues = 3;
50+ // AllowAutoMerge says whether auto-merge can be enabled on the merge requests
51+ // of the repository (see MergeRequestService.EnableAutoMerge). It is false by
52+ // default. Set only by servers with the "merge_requests.auto_merge" feature.
53+ bool allow_auto_merge = 4;
50 }54 }
51 55
52 // Repo is the metadata of a repository. Git-owned state (refs, trees, history)56 // Repo is the metadata of a repository. Git-owned state (refs, trees, history)
@@ -166,9 +170,9 @@ message UpdateRepoRequest {
166 // the call fails with failed_precondition.170 // the call fails with failed_precondition.
167 string default_branch = 4;171 string default_branch = 4;
168 // UpdateMask lists the fields to change: "description", "visibility",172 // UpdateMask lists the fields to change: "description", "visibility",
169- // "default_branch", "topics", "settings.allowed_merge_modes" and/or173+ // "default_branch", "topics", "settings.allowed_merge_modes",
170- // "settings.failing_checks_block". "settings" stands for both merge settings174+ // "settings.failing_checks_block" and/or "settings.allow_auto_merge".
171- // paths. It must not be empty unless issues is set. Other paths are175+ // "settings" stands for the three merge settings paths. It must not be empty unless issues is set. Other paths are
172 // invalid_argument, including "settings.issues" and "issues": the issues176 // invalid_argument, including "settings.issues" and "issues": the issues
173 // field is applied outside the mask.177 // field is applied outside the mask.
174 google.protobuf.FieldMask update_mask = 5;178 google.protobuf.FieldMask update_mask = 5;
M proto/ermite/server.proto +5 -1
@@ -60,7 +60,11 @@ message GetVersionResponse {
6060 // and "ci.artifacts" (JobArtifactService and ArtifactService). The merge
6161 // request identifier "merge_requests.mergeability" covers
6262 // MergeRequest.mergeability, the MergeRequestMergeability event and
63- // MERGE_MODE_MERGE_COMMIT.
63+ // MERGE_MODE_MERGE_COMMIT. "merge_requests.auto_merge" covers
64+ // RepoSettings.allow_auto_merge, MergeRequest.auto_merge and auto_merged,
65+ // the EnableAutoMerge and CancelAutoMerge RPCs, the
66+ // MergeRequestAutoMergeEnabled and MergeRequestAutoMergeCancelled events
67+ // and MergeRequestMerged.auto.
6468 repeated string features = 2;
6569 }
6670
@@ -60,7 +60,11 @@ message GetVersionResponse {
60 // and "ci.artifacts" (JobArtifactService and ArtifactService). The merge60 // and "ci.artifacts" (JobArtifactService and ArtifactService). The merge
61 // request identifier "merge_requests.mergeability" covers61 // request identifier "merge_requests.mergeability" covers
62 // MergeRequest.mergeability, the MergeRequestMergeability event and62 // MergeRequest.mergeability, the MergeRequestMergeability event and
63- // MERGE_MODE_MERGE_COMMIT.63+ // MERGE_MODE_MERGE_COMMIT. "merge_requests.auto_merge" covers
64+ // RepoSettings.allow_auto_merge, MergeRequest.auto_merge and auto_merged,
65+ // the EnableAutoMerge and CancelAutoMerge RPCs, the
66+ // MergeRequestAutoMergeEnabled and MergeRequestAutoMergeCancelled events
67+ // and MergeRequestMerged.auto.
64 repeated string features = 2;68 repeated string features = 2;
65 }69 }
66 70

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 18

↑↓ moveenter openesc close