v0.2.0 49ac5fd

repo.pb.go RawHistoryFolder

1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// 	protoc-gen-go v1.36.12
6// 	protoc        (unknown)
7// source: ermite/repo.proto
8
9package ermite
10
11import (
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
15	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
16	reflect "reflect"
17	sync "sync"
18	unsafe "unsafe"
19)
20
21const (
22	// Verify that this generated code is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
24	// Verify that runtime/protoimpl is sufficiently up-to-date.
25	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
26)
27
28// Visibility says who may read a repository.
29type Visibility int32
30
31const (
32	// Not set. In requests, the server applies its default (private on create,
33	// unchanged on update). Never returned by the server.
34	Visibility_VISIBILITY_UNSPECIFIED Visibility = 0
35	// Anyone, including anonymous callers, may read the repository.
36	Visibility_VISIBILITY_PUBLIC Visibility = 1
37	// Only callers holding the repo:read scope on the repository may read it.
38	// Everyone else gets not_found, never permission_denied.
39	Visibility_VISIBILITY_PRIVATE Visibility = 2
40)
41
42// Enum value maps for Visibility.
43var (
44	Visibility_name = map[int32]string{
45		0: "VISIBILITY_UNSPECIFIED",
46		1: "VISIBILITY_PUBLIC",
47		2: "VISIBILITY_PRIVATE",
48	}
49	Visibility_value = map[string]int32{
50		"VISIBILITY_UNSPECIFIED": 0,
51		"VISIBILITY_PUBLIC":      1,
52		"VISIBILITY_PRIVATE":     2,
53	}
54)
55
56func (x Visibility) Enum() *Visibility {
57	p := new(Visibility)
58	*p = x
59	return p
60}
61
62func (x Visibility) String() string {
63	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
64}
65
66func (Visibility) Descriptor() protoreflect.EnumDescriptor {
67	return file_ermite_repo_proto_enumTypes[0].Descriptor()
68}
69
70func (Visibility) Type() protoreflect.EnumType {
71	return &file_ermite_repo_proto_enumTypes[0]
72}
73
74func (x Visibility) Number() protoreflect.EnumNumber {
75	return protoreflect.EnumNumber(x)
76}
77
78// Deprecated: Use Visibility.Descriptor instead.
79func (Visibility) EnumDescriptor() ([]byte, []int) {
80	return file_ermite_repo_proto_rawDescGZIP(), []int{0}
81}
82
83// RepoSettings are the settings of a repository that govern its merge
84// requests.
85type RepoSettings struct {
86	state protoimpl.MessageState `protogen:"open.v1"`
87	// AllowedMergeModes are the modes with which a merge request of the
88	// repository may be merged. It is never empty in a response and has no
89	// duplicate. Both MERGE_MODE_FAST_FORWARD and MERGE_MODE_SQUASH are allowed
90	// by default. MERGE_MODE_UNSPECIFIED is rejected.
91	AllowedMergeModes []MergeMode `protobuf:"varint,1,rep,packed,name=allowed_merge_modes,json=allowedMergeModes,proto3,enum=ermite.MergeMode" json:"allowed_merge_modes,omitempty"`
92	// FailingChecksBlock says whether a merge request whose checks fail cannot be
93	// merged. It is true at creation of the repository and always stored
94	// explicitly, so a later change of the server default never alters an
95	// existing repository.
96	FailingChecksBlock bool `protobuf:"varint,2,opt,name=failing_checks_block,json=failingChecksBlock,proto3" json:"failing_checks_block,omitempty"`
97	unknownFields      protoimpl.UnknownFields
98	sizeCache          protoimpl.SizeCache
99}
100
101func (x *RepoSettings) Reset() {
102	*x = RepoSettings{}
103	mi := &file_ermite_repo_proto_msgTypes[0]
104	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
105	ms.StoreMessageInfo(mi)
106}
107
108func (x *RepoSettings) String() string {
109	return protoimpl.X.MessageStringOf(x)
110}
111
112func (*RepoSettings) ProtoMessage() {}
113
114func (x *RepoSettings) ProtoReflect() protoreflect.Message {
115	mi := &file_ermite_repo_proto_msgTypes[0]
116	if x != nil {
117		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
118		if ms.LoadMessageInfo() == nil {
119			ms.StoreMessageInfo(mi)
120		}
121		return ms
122	}
123	return mi.MessageOf(x)
124}
125
126// Deprecated: Use RepoSettings.ProtoReflect.Descriptor instead.
127func (*RepoSettings) Descriptor() ([]byte, []int) {
128	return file_ermite_repo_proto_rawDescGZIP(), []int{0}
129}
130
131func (x *RepoSettings) GetAllowedMergeModes() []MergeMode {
132	if x != nil {
133		return x.AllowedMergeModes
134	}
135	return nil
136}
137
138func (x *RepoSettings) GetFailingChecksBlock() bool {
139	if x != nil {
140		return x.FailingChecksBlock
141	}
142	return false
143}
144
145// Repo is the metadata of a repository. Git-owned state (refs, trees, history)
146// is read through GitService.
147type Repo struct {
148	state protoimpl.MessageState `protogen:"open.v1"`
149	// Name is the unique, lowercase repository name: 1-100 characters from
150	// [a-z0-9._-], without a ".git" suffix. It is also the URL path: /<name>.
151	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
152	// Description is a free one-line description. It may be empty.
153	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
154	// Visibility is who may read the repository.
155	Visibility Visibility `protobuf:"varint,3,opt,name=visibility,proto3,enum=ermite.Visibility" json:"visibility,omitempty"`
156	// DefaultBranch is the short name of the branch HEAD points to, for example
157	// "main". It is set even when the branch does not exist yet (empty
158	// repository).
159	DefaultBranch string `protobuf:"bytes,4,opt,name=default_branch,json=defaultBranch,proto3" json:"default_branch,omitempty"`
160	// CreatedAt is when the repository was created.
161	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
162	// PushedAt is the time of the last push. It is unset until the first push.
163	PushedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=pushed_at,json=pushedAt,proto3" json:"pushed_at,omitempty"`
164	// Settings are the merge settings of the repository. Always set in a
165	// response, with the defaults for a repository that never changed them.
166	Settings      *RepoSettings `protobuf:"bytes,7,opt,name=settings,proto3" json:"settings,omitempty"`
167	unknownFields protoimpl.UnknownFields
168	sizeCache     protoimpl.SizeCache
169}
170
171func (x *Repo) Reset() {
172	*x = Repo{}
173	mi := &file_ermite_repo_proto_msgTypes[1]
174	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
175	ms.StoreMessageInfo(mi)
176}
177
178func (x *Repo) String() string {
179	return protoimpl.X.MessageStringOf(x)
180}
181
182func (*Repo) ProtoMessage() {}
183
184func (x *Repo) ProtoReflect() protoreflect.Message {
185	mi := &file_ermite_repo_proto_msgTypes[1]
186	if x != nil {
187		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
188		if ms.LoadMessageInfo() == nil {
189			ms.StoreMessageInfo(mi)
190		}
191		return ms
192	}
193	return mi.MessageOf(x)
194}
195
196// Deprecated: Use Repo.ProtoReflect.Descriptor instead.
197func (*Repo) Descriptor() ([]byte, []int) {
198	return file_ermite_repo_proto_rawDescGZIP(), []int{1}
199}
200
201func (x *Repo) GetName() string {
202	if x != nil {
203		return x.Name
204	}
205	return ""
206}
207
208func (x *Repo) GetDescription() string {
209	if x != nil {
210		return x.Description
211	}
212	return ""
213}
214
215func (x *Repo) GetVisibility() Visibility {
216	if x != nil {
217		return x.Visibility
218	}
219	return Visibility_VISIBILITY_UNSPECIFIED
220}
221
222func (x *Repo) GetDefaultBranch() string {
223	if x != nil {
224		return x.DefaultBranch
225	}
226	return ""
227}
228
229func (x *Repo) GetCreatedAt() *timestamppb.Timestamp {
230	if x != nil {
231		return x.CreatedAt
232	}
233	return nil
234}
235
236func (x *Repo) GetPushedAt() *timestamppb.Timestamp {
237	if x != nil {
238		return x.PushedAt
239	}
240	return nil
241}
242
243func (x *Repo) GetSettings() *RepoSettings {
244	if x != nil {
245		return x.Settings
246	}
247	return nil
248}
249
250// ListReposRequest selects a page of repositories.
251type ListReposRequest struct {
252	state protoimpl.MessageState `protogen:"open.v1"`
253	// PageSize is the maximum number of repositories to return. 0 means the
254	// server default; values above the server maximum are lowered to it.
255	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
256	// PageToken is the next_page_token of a previous response, to get the page
257	// after it. Empty for the first page.
258	PageToken     string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
259	unknownFields protoimpl.UnknownFields
260	sizeCache     protoimpl.SizeCache
261}
262
263func (x *ListReposRequest) Reset() {
264	*x = ListReposRequest{}
265	mi := &file_ermite_repo_proto_msgTypes[2]
266	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
267	ms.StoreMessageInfo(mi)
268}
269
270func (x *ListReposRequest) String() string {
271	return protoimpl.X.MessageStringOf(x)
272}
273
274func (*ListReposRequest) ProtoMessage() {}
275
276func (x *ListReposRequest) ProtoReflect() protoreflect.Message {
277	mi := &file_ermite_repo_proto_msgTypes[2]
278	if x != nil {
279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
280		if ms.LoadMessageInfo() == nil {
281			ms.StoreMessageInfo(mi)
282		}
283		return ms
284	}
285	return mi.MessageOf(x)
286}
287
288// Deprecated: Use ListReposRequest.ProtoReflect.Descriptor instead.
289func (*ListReposRequest) Descriptor() ([]byte, []int) {
290	return file_ermite_repo_proto_rawDescGZIP(), []int{2}
291}
292
293func (x *ListReposRequest) GetPageSize() int32 {
294	if x != nil {
295		return x.PageSize
296	}
297	return 0
298}
299
300func (x *ListReposRequest) GetPageToken() string {
301	if x != nil {
302		return x.PageToken
303	}
304	return ""
305}
306
307// ListReposResponse is one page of repositories.
308type ListReposResponse struct {
309	state protoimpl.MessageState `protogen:"open.v1"`
310	// Repos are the repositories of this page, ordered by name.
311	Repos []*Repo `protobuf:"bytes,1,rep,name=repos,proto3" json:"repos,omitempty"`
312	// NextPageToken is passed as page_token to get the next page. Empty when
313	// there is no next page.
314	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
315	unknownFields protoimpl.UnknownFields
316	sizeCache     protoimpl.SizeCache
317}
318
319func (x *ListReposResponse) Reset() {
320	*x = ListReposResponse{}
321	mi := &file_ermite_repo_proto_msgTypes[3]
322	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
323	ms.StoreMessageInfo(mi)
324}
325
326func (x *ListReposResponse) String() string {
327	return protoimpl.X.MessageStringOf(x)
328}
329
330func (*ListReposResponse) ProtoMessage() {}
331
332func (x *ListReposResponse) ProtoReflect() protoreflect.Message {
333	mi := &file_ermite_repo_proto_msgTypes[3]
334	if x != nil {
335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
336		if ms.LoadMessageInfo() == nil {
337			ms.StoreMessageInfo(mi)
338		}
339		return ms
340	}
341	return mi.MessageOf(x)
342}
343
344// Deprecated: Use ListReposResponse.ProtoReflect.Descriptor instead.
345func (*ListReposResponse) Descriptor() ([]byte, []int) {
346	return file_ermite_repo_proto_rawDescGZIP(), []int{3}
347}
348
349func (x *ListReposResponse) GetRepos() []*Repo {
350	if x != nil {
351		return x.Repos
352	}
353	return nil
354}
355
356func (x *ListReposResponse) GetNextPageToken() string {
357	if x != nil {
358		return x.NextPageToken
359	}
360	return ""
361}
362
363// GetRepoRequest names the repository to read.
364type GetRepoRequest struct {
365	state protoimpl.MessageState `protogen:"open.v1"`
366	// Repo is the repository name.
367	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
368	unknownFields protoimpl.UnknownFields
369	sizeCache     protoimpl.SizeCache
370}
371
372func (x *GetRepoRequest) Reset() {
373	*x = GetRepoRequest{}
374	mi := &file_ermite_repo_proto_msgTypes[4]
375	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
376	ms.StoreMessageInfo(mi)
377}
378
379func (x *GetRepoRequest) String() string {
380	return protoimpl.X.MessageStringOf(x)
381}
382
383func (*GetRepoRequest) ProtoMessage() {}
384
385func (x *GetRepoRequest) ProtoReflect() protoreflect.Message {
386	mi := &file_ermite_repo_proto_msgTypes[4]
387	if x != nil {
388		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
389		if ms.LoadMessageInfo() == nil {
390			ms.StoreMessageInfo(mi)
391		}
392		return ms
393	}
394	return mi.MessageOf(x)
395}
396
397// Deprecated: Use GetRepoRequest.ProtoReflect.Descriptor instead.
398func (*GetRepoRequest) Descriptor() ([]byte, []int) {
399	return file_ermite_repo_proto_rawDescGZIP(), []int{4}
400}
401
402func (x *GetRepoRequest) GetRepo() string {
403	if x != nil {
404		return x.Repo
405	}
406	return ""
407}
408
409// GetRepoResponse holds the repository.
410type GetRepoResponse struct {
411	state protoimpl.MessageState `protogen:"open.v1"`
412	// Repo is the repository metadata.
413	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
414	unknownFields protoimpl.UnknownFields
415	sizeCache     protoimpl.SizeCache
416}
417
418func (x *GetRepoResponse) Reset() {
419	*x = GetRepoResponse{}
420	mi := &file_ermite_repo_proto_msgTypes[5]
421	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422	ms.StoreMessageInfo(mi)
423}
424
425func (x *GetRepoResponse) String() string {
426	return protoimpl.X.MessageStringOf(x)
427}
428
429func (*GetRepoResponse) ProtoMessage() {}
430
431func (x *GetRepoResponse) ProtoReflect() protoreflect.Message {
432	mi := &file_ermite_repo_proto_msgTypes[5]
433	if x != nil {
434		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
435		if ms.LoadMessageInfo() == nil {
436			ms.StoreMessageInfo(mi)
437		}
438		return ms
439	}
440	return mi.MessageOf(x)
441}
442
443// Deprecated: Use GetRepoResponse.ProtoReflect.Descriptor instead.
444func (*GetRepoResponse) Descriptor() ([]byte, []int) {
445	return file_ermite_repo_proto_rawDescGZIP(), []int{5}
446}
447
448func (x *GetRepoResponse) GetRepo() *Repo {
449	if x != nil {
450		return x.Repo
451	}
452	return nil
453}
454
455// CreateRepoRequest describes the repository to create.
456type CreateRepoRequest struct {
457	state protoimpl.MessageState `protogen:"open.v1"`
458	// Name is the name of the new repository. Names are lowercase; an uppercase
459	// name is rejected with invalid_argument.
460	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
461	// Description is an optional one-line description.
462	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
463	// Visibility of the new repository. VISIBILITY_UNSPECIFIED means private.
464	Visibility    Visibility `protobuf:"varint,3,opt,name=visibility,proto3,enum=ermite.Visibility" json:"visibility,omitempty"`
465	unknownFields protoimpl.UnknownFields
466	sizeCache     protoimpl.SizeCache
467}
468
469func (x *CreateRepoRequest) Reset() {
470	*x = CreateRepoRequest{}
471	mi := &file_ermite_repo_proto_msgTypes[6]
472	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
473	ms.StoreMessageInfo(mi)
474}
475
476func (x *CreateRepoRequest) String() string {
477	return protoimpl.X.MessageStringOf(x)
478}
479
480func (*CreateRepoRequest) ProtoMessage() {}
481
482func (x *CreateRepoRequest) ProtoReflect() protoreflect.Message {
483	mi := &file_ermite_repo_proto_msgTypes[6]
484	if x != nil {
485		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
486		if ms.LoadMessageInfo() == nil {
487			ms.StoreMessageInfo(mi)
488		}
489		return ms
490	}
491	return mi.MessageOf(x)
492}
493
494// Deprecated: Use CreateRepoRequest.ProtoReflect.Descriptor instead.
495func (*CreateRepoRequest) Descriptor() ([]byte, []int) {
496	return file_ermite_repo_proto_rawDescGZIP(), []int{6}
497}
498
499func (x *CreateRepoRequest) GetName() string {
500	if x != nil {
501		return x.Name
502	}
503	return ""
504}
505
506func (x *CreateRepoRequest) GetDescription() string {
507	if x != nil {
508		return x.Description
509	}
510	return ""
511}
512
513func (x *CreateRepoRequest) GetVisibility() Visibility {
514	if x != nil {
515		return x.Visibility
516	}
517	return Visibility_VISIBILITY_UNSPECIFIED
518}
519
520// CreateRepoResponse holds the new repository.
521type CreateRepoResponse struct {
522	state protoimpl.MessageState `protogen:"open.v1"`
523	// Repo is the created repository.
524	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
525	unknownFields protoimpl.UnknownFields
526	sizeCache     protoimpl.SizeCache
527}
528
529func (x *CreateRepoResponse) Reset() {
530	*x = CreateRepoResponse{}
531	mi := &file_ermite_repo_proto_msgTypes[7]
532	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
533	ms.StoreMessageInfo(mi)
534}
535
536func (x *CreateRepoResponse) String() string {
537	return protoimpl.X.MessageStringOf(x)
538}
539
540func (*CreateRepoResponse) ProtoMessage() {}
541
542func (x *CreateRepoResponse) ProtoReflect() protoreflect.Message {
543	mi := &file_ermite_repo_proto_msgTypes[7]
544	if x != nil {
545		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
546		if ms.LoadMessageInfo() == nil {
547			ms.StoreMessageInfo(mi)
548		}
549		return ms
550	}
551	return mi.MessageOf(x)
552}
553
554// Deprecated: Use CreateRepoResponse.ProtoReflect.Descriptor instead.
555func (*CreateRepoResponse) Descriptor() ([]byte, []int) {
556	return file_ermite_repo_proto_rawDescGZIP(), []int{7}
557}
558
559func (x *CreateRepoResponse) GetRepo() *Repo {
560	if x != nil {
561		return x.Repo
562	}
563	return nil
564}
565
566// UpdateRepoRequest changes some fields of a repository.
567type UpdateRepoRequest struct {
568	state protoimpl.MessageState `protogen:"open.v1"`
569	// Repo is the name of the repository to change. Repositories cannot be
570	// renamed.
571	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
572	// Description is the new description. Used only if update_mask contains
573	// "description"; an empty value then clears it.
574	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
575	// Visibility is the new visibility. Used only if update_mask contains
576	// "visibility"; it must not be VISIBILITY_UNSPECIFIED then.
577	Visibility Visibility `protobuf:"varint,3,opt,name=visibility,proto3,enum=ermite.Visibility" json:"visibility,omitempty"`
578	// DefaultBranch is the short name of the new default branch. Used only if
579	// update_mask contains "default_branch". The branch must exist, otherwise
580	// the call fails with failed_precondition.
581	DefaultBranch string `protobuf:"bytes,4,opt,name=default_branch,json=defaultBranch,proto3" json:"default_branch,omitempty"`
582	// UpdateMask lists the fields to change: "description", "visibility",
583	// "default_branch", "settings.allowed_merge_modes" and/or
584	// "settings.failing_checks_block". "settings" stands for both settings
585	// paths. It must not be empty. Other paths are invalid_argument.
586	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
587	// Settings holds the new merge settings. Only the fields named in
588	// update_mask are used. allowed_merge_modes must then not be empty nor
589	// contain MERGE_MODE_UNSPECIFIED, otherwise the call fails with
590	// invalid_argument. Changing settings needs the repo:admin scope, like any
591	// other field.
592	Settings      *RepoSettings `protobuf:"bytes,6,opt,name=settings,proto3" json:"settings,omitempty"`
593	unknownFields protoimpl.UnknownFields
594	sizeCache     protoimpl.SizeCache
595}
596
597func (x *UpdateRepoRequest) Reset() {
598	*x = UpdateRepoRequest{}
599	mi := &file_ermite_repo_proto_msgTypes[8]
600	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
601	ms.StoreMessageInfo(mi)
602}
603
604func (x *UpdateRepoRequest) String() string {
605	return protoimpl.X.MessageStringOf(x)
606}
607
608func (*UpdateRepoRequest) ProtoMessage() {}
609
610func (x *UpdateRepoRequest) ProtoReflect() protoreflect.Message {
611	mi := &file_ermite_repo_proto_msgTypes[8]
612	if x != nil {
613		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
614		if ms.LoadMessageInfo() == nil {
615			ms.StoreMessageInfo(mi)
616		}
617		return ms
618	}
619	return mi.MessageOf(x)
620}
621
622// Deprecated: Use UpdateRepoRequest.ProtoReflect.Descriptor instead.
623func (*UpdateRepoRequest) Descriptor() ([]byte, []int) {
624	return file_ermite_repo_proto_rawDescGZIP(), []int{8}
625}
626
627func (x *UpdateRepoRequest) GetRepo() string {
628	if x != nil {
629		return x.Repo
630	}
631	return ""
632}
633
634func (x *UpdateRepoRequest) GetDescription() string {
635	if x != nil {
636		return x.Description
637	}
638	return ""
639}
640
641func (x *UpdateRepoRequest) GetVisibility() Visibility {
642	if x != nil {
643		return x.Visibility
644	}
645	return Visibility_VISIBILITY_UNSPECIFIED
646}
647
648func (x *UpdateRepoRequest) GetDefaultBranch() string {
649	if x != nil {
650		return x.DefaultBranch
651	}
652	return ""
653}
654
655func (x *UpdateRepoRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
656	if x != nil {
657		return x.UpdateMask
658	}
659	return nil
660}
661
662func (x *UpdateRepoRequest) GetSettings() *RepoSettings {
663	if x != nil {
664		return x.Settings
665	}
666	return nil
667}
668
669// UpdateRepoResponse holds the repository after the update.
670type UpdateRepoResponse struct {
671	state protoimpl.MessageState `protogen:"open.v1"`
672	// Repo is the updated repository.
673	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
674	unknownFields protoimpl.UnknownFields
675	sizeCache     protoimpl.SizeCache
676}
677
678func (x *UpdateRepoResponse) Reset() {
679	*x = UpdateRepoResponse{}
680	mi := &file_ermite_repo_proto_msgTypes[9]
681	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
682	ms.StoreMessageInfo(mi)
683}
684
685func (x *UpdateRepoResponse) String() string {
686	return protoimpl.X.MessageStringOf(x)
687}
688
689func (*UpdateRepoResponse) ProtoMessage() {}
690
691func (x *UpdateRepoResponse) ProtoReflect() protoreflect.Message {
692	mi := &file_ermite_repo_proto_msgTypes[9]
693	if x != nil {
694		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
695		if ms.LoadMessageInfo() == nil {
696			ms.StoreMessageInfo(mi)
697		}
698		return ms
699	}
700	return mi.MessageOf(x)
701}
702
703// Deprecated: Use UpdateRepoResponse.ProtoReflect.Descriptor instead.
704func (*UpdateRepoResponse) Descriptor() ([]byte, []int) {
705	return file_ermite_repo_proto_rawDescGZIP(), []int{9}
706}
707
708func (x *UpdateRepoResponse) GetRepo() *Repo {
709	if x != nil {
710		return x.Repo
711	}
712	return nil
713}
714
715// DeleteRepoRequest names the repository to delete.
716type DeleteRepoRequest struct {
717	state protoimpl.MessageState `protogen:"open.v1"`
718	// Repo is the repository name.
719	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
720	unknownFields protoimpl.UnknownFields
721	sizeCache     protoimpl.SizeCache
722}
723
724func (x *DeleteRepoRequest) Reset() {
725	*x = DeleteRepoRequest{}
726	mi := &file_ermite_repo_proto_msgTypes[10]
727	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
728	ms.StoreMessageInfo(mi)
729}
730
731func (x *DeleteRepoRequest) String() string {
732	return protoimpl.X.MessageStringOf(x)
733}
734
735func (*DeleteRepoRequest) ProtoMessage() {}
736
737func (x *DeleteRepoRequest) ProtoReflect() protoreflect.Message {
738	mi := &file_ermite_repo_proto_msgTypes[10]
739	if x != nil {
740		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
741		if ms.LoadMessageInfo() == nil {
742			ms.StoreMessageInfo(mi)
743		}
744		return ms
745	}
746	return mi.MessageOf(x)
747}
748
749// Deprecated: Use DeleteRepoRequest.ProtoReflect.Descriptor instead.
750func (*DeleteRepoRequest) Descriptor() ([]byte, []int) {
751	return file_ermite_repo_proto_rawDescGZIP(), []int{10}
752}
753
754func (x *DeleteRepoRequest) GetRepo() string {
755	if x != nil {
756		return x.Repo
757	}
758	return ""
759}
760
761// DeleteRepoResponse is empty.
762type DeleteRepoResponse struct {
763	state         protoimpl.MessageState `protogen:"open.v1"`
764	unknownFields protoimpl.UnknownFields
765	sizeCache     protoimpl.SizeCache
766}
767
768func (x *DeleteRepoResponse) Reset() {
769	*x = DeleteRepoResponse{}
770	mi := &file_ermite_repo_proto_msgTypes[11]
771	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
772	ms.StoreMessageInfo(mi)
773}
774
775func (x *DeleteRepoResponse) String() string {
776	return protoimpl.X.MessageStringOf(x)
777}
778
779func (*DeleteRepoResponse) ProtoMessage() {}
780
781func (x *DeleteRepoResponse) ProtoReflect() protoreflect.Message {
782	mi := &file_ermite_repo_proto_msgTypes[11]
783	if x != nil {
784		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
785		if ms.LoadMessageInfo() == nil {
786			ms.StoreMessageInfo(mi)
787		}
788		return ms
789	}
790	return mi.MessageOf(x)
791}
792
793// Deprecated: Use DeleteRepoResponse.ProtoReflect.Descriptor instead.
794func (*DeleteRepoResponse) Descriptor() ([]byte, []int) {
795	return file_ermite_repo_proto_rawDescGZIP(), []int{11}
796}
797
798var File_ermite_repo_proto protoreflect.FileDescriptor
799
800const file_ermite_repo_proto_rawDesc = "" +
801	"\n" +
802	"\x11ermite/repo.proto\x12\x06ermite\x1a google/protobuf/field_mask.proto\x1a\x12ermite/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x83\x01\n" +
803	"\fRepoSettings\x12A\n" +
804	"\x13allowed_merge_modes\x18\x01 \x03(\x0e2\x11.ermite.MergeModeR\x11allowedMergeModes\x120\n" +
805	"\x14failing_checks_block\x18\x02 \x01(\bR\x12failingChecksBlock\"\xbd\x02\n" +
806	"\x04Repo\x12\x12\n" +
807	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
808	"\vdescription\x18\x02 \x01(\tR\vdescription\x122\n" +
809	"\n" +
810	"visibility\x18\x03 \x01(\x0e2\x12.ermite.VisibilityR\n" +
811	"visibility\x12%\n" +
812	"\x0edefault_branch\x18\x04 \x01(\tR\rdefaultBranch\x129\n" +
813	"\n" +
814	"created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x127\n" +
815	"\tpushed_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\bpushedAt\x120\n" +
816	"\bsettings\x18\a \x01(\v2\x14.ermite.RepoSettingsR\bsettings\"N\n" +
817	"\x10ListReposRequest\x12\x1b\n" +
818	"\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\x1d\n" +
819	"\n" +
820	"page_token\x18\x02 \x01(\tR\tpageToken\"_\n" +
821	"\x11ListReposResponse\x12\"\n" +
822	"\x05repos\x18\x01 \x03(\v2\f.ermite.RepoR\x05repos\x12&\n" +
823	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"$\n" +
824	"\x0eGetRepoRequest\x12\x12\n" +
825	"\x04repo\x18\x01 \x01(\tR\x04repo\"3\n" +
826	"\x0fGetRepoResponse\x12 \n" +
827	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"}\n" +
828	"\x11CreateRepoRequest\x12\x12\n" +
829	"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
830	"\vdescription\x18\x02 \x01(\tR\vdescription\x122\n" +
831	"\n" +
832	"visibility\x18\x03 \x01(\x0e2\x12.ermite.VisibilityR\n" +
833	"visibility\"6\n" +
834	"\x12CreateRepoResponse\x12 \n" +
835	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"\x93\x02\n" +
836	"\x11UpdateRepoRequest\x12\x12\n" +
837	"\x04repo\x18\x01 \x01(\tR\x04repo\x12 \n" +
838	"\vdescription\x18\x02 \x01(\tR\vdescription\x122\n" +
839	"\n" +
840	"visibility\x18\x03 \x01(\x0e2\x12.ermite.VisibilityR\n" +
841	"visibility\x12%\n" +
842	"\x0edefault_branch\x18\x04 \x01(\tR\rdefaultBranch\x12;\n" +
843	"\vupdate_mask\x18\x05 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" +
844	"updateMask\x120\n" +
845	"\bsettings\x18\x06 \x01(\v2\x14.ermite.RepoSettingsR\bsettings\"6\n" +
846	"\x12UpdateRepoResponse\x12 \n" +
847	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"'\n" +
848	"\x11DeleteRepoRequest\x12\x12\n" +
849	"\x04repo\x18\x01 \x01(\tR\x04repo\"\x14\n" +
850	"\x12DeleteRepoResponse*W\n" +
851	"\n" +
852	"Visibility\x12\x1a\n" +
853	"\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x15\n" +
854	"\x11VISIBILITY_PUBLIC\x10\x01\x12\x16\n" +
855	"\x12VISIBILITY_PRIVATE\x10\x022\xda\x02\n" +
856	"\vRepoService\x12@\n" +
857	"\tListRepos\x12\x18.ermite.ListReposRequest\x1a\x19.ermite.ListReposResponse\x12:\n" +
858	"\aGetRepo\x12\x16.ermite.GetRepoRequest\x1a\x17.ermite.GetRepoResponse\x12C\n" +
859	"\n" +
860	"CreateRepo\x12\x19.ermite.CreateRepoRequest\x1a\x1a.ermite.CreateRepoResponse\x12C\n" +
861	"\n" +
862	"UpdateRepo\x12\x19.ermite.UpdateRepoRequest\x1a\x1a.ermite.UpdateRepoResponse\x12C\n" +
863	"\n" +
864	"DeleteRepo\x12\x19.ermite.DeleteRepoRequest\x1a\x1a.ermite.DeleteRepoResponseBp\n" +
865	"\n" +
866	"com.ermiteB\tRepoProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
867
868var (
869	file_ermite_repo_proto_rawDescOnce sync.Once
870	file_ermite_repo_proto_rawDescData []byte
871)
872
873func file_ermite_repo_proto_rawDescGZIP() []byte {
874	file_ermite_repo_proto_rawDescOnce.Do(func() {
875		file_ermite_repo_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_repo_proto_rawDesc), len(file_ermite_repo_proto_rawDesc)))
876	})
877	return file_ermite_repo_proto_rawDescData
878}
879
880var file_ermite_repo_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
881var file_ermite_repo_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
882var file_ermite_repo_proto_goTypes = []any{
883	(Visibility)(0),               // 0: ermite.Visibility
884	(*RepoSettings)(nil),          // 1: ermite.RepoSettings
885	(*Repo)(nil),                  // 2: ermite.Repo
886	(*ListReposRequest)(nil),      // 3: ermite.ListReposRequest
887	(*ListReposResponse)(nil),     // 4: ermite.ListReposResponse
888	(*GetRepoRequest)(nil),        // 5: ermite.GetRepoRequest
889	(*GetRepoResponse)(nil),       // 6: ermite.GetRepoResponse
890	(*CreateRepoRequest)(nil),     // 7: ermite.CreateRepoRequest
891	(*CreateRepoResponse)(nil),    // 8: ermite.CreateRepoResponse
892	(*UpdateRepoRequest)(nil),     // 9: ermite.UpdateRepoRequest
893	(*UpdateRepoResponse)(nil),    // 10: ermite.UpdateRepoResponse
894	(*DeleteRepoRequest)(nil),     // 11: ermite.DeleteRepoRequest
895	(*DeleteRepoResponse)(nil),    // 12: ermite.DeleteRepoResponse
896	(MergeMode)(0),                // 13: ermite.MergeMode
897	(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
898	(*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask
899}
900var file_ermite_repo_proto_depIdxs = []int32{
901	13, // 0: ermite.RepoSettings.allowed_merge_modes:type_name -> ermite.MergeMode
902	0,  // 1: ermite.Repo.visibility:type_name -> ermite.Visibility
903	14, // 2: ermite.Repo.created_at:type_name -> google.protobuf.Timestamp
904	14, // 3: ermite.Repo.pushed_at:type_name -> google.protobuf.Timestamp
905	1,  // 4: ermite.Repo.settings:type_name -> ermite.RepoSettings
906	2,  // 5: ermite.ListReposResponse.repos:type_name -> ermite.Repo
907	2,  // 6: ermite.GetRepoResponse.repo:type_name -> ermite.Repo
908	0,  // 7: ermite.CreateRepoRequest.visibility:type_name -> ermite.Visibility
909	2,  // 8: ermite.CreateRepoResponse.repo:type_name -> ermite.Repo
910	0,  // 9: ermite.UpdateRepoRequest.visibility:type_name -> ermite.Visibility
911	15, // 10: ermite.UpdateRepoRequest.update_mask:type_name -> google.protobuf.FieldMask
912	1,  // 11: ermite.UpdateRepoRequest.settings:type_name -> ermite.RepoSettings
913	2,  // 12: ermite.UpdateRepoResponse.repo:type_name -> ermite.Repo
914	3,  // 13: ermite.RepoService.ListRepos:input_type -> ermite.ListReposRequest
915	5,  // 14: ermite.RepoService.GetRepo:input_type -> ermite.GetRepoRequest
916	7,  // 15: ermite.RepoService.CreateRepo:input_type -> ermite.CreateRepoRequest
917	9,  // 16: ermite.RepoService.UpdateRepo:input_type -> ermite.UpdateRepoRequest
918	11, // 17: ermite.RepoService.DeleteRepo:input_type -> ermite.DeleteRepoRequest
919	4,  // 18: ermite.RepoService.ListRepos:output_type -> ermite.ListReposResponse
920	6,  // 19: ermite.RepoService.GetRepo:output_type -> ermite.GetRepoResponse
921	8,  // 20: ermite.RepoService.CreateRepo:output_type -> ermite.CreateRepoResponse
922	10, // 21: ermite.RepoService.UpdateRepo:output_type -> ermite.UpdateRepoResponse
923	12, // 22: ermite.RepoService.DeleteRepo:output_type -> ermite.DeleteRepoResponse
924	18, // [18:23] is the sub-list for method output_type
925	13, // [13:18] is the sub-list for method input_type
926	13, // [13:13] is the sub-list for extension type_name
927	13, // [13:13] is the sub-list for extension extendee
928	0,  // [0:13] is the sub-list for field type_name
929}
930
931func init() { file_ermite_repo_proto_init() }
932func file_ermite_repo_proto_init() {
933	if File_ermite_repo_proto != nil {
934		return
935	}
936	file_ermite_types_proto_init()
937	type x struct{}
938	out := protoimpl.TypeBuilder{
939		File: protoimpl.DescBuilder{
940			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
941			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_repo_proto_rawDesc), len(file_ermite_repo_proto_rawDesc)),
942			NumEnums:      1,
943			NumMessages:   12,
944			NumExtensions: 0,
945			NumServices:   1,
946		},
947		GoTypes:           file_ermite_repo_proto_goTypes,
948		DependencyIndexes: file_ermite_repo_proto_depIdxs,
949		EnumInfos:         file_ermite_repo_proto_enumTypes,
950		MessageInfos:      file_ermite_repo_proto_msgTypes,
951	}.Build()
952	File_ermite_repo_proto = out.File
953	file_ermite_repo_proto_goTypes = nil
954	file_ermite_repo_proto_depIdxs = nil
955}

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