Welcome to mirror list, hosted at ThFree Co, Russian Federation.

shared.proto « proto - gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8faeff83450d5bc56bc2e7aefe74f2cec46b29cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
syntax = "proto3";

package gitaly;

import "google/protobuf/timestamp.proto";
import "lint.proto";

option go_package = "gitlab.com/gitlab-org/gitaly/v15/proto/go/gitalypb";

// This comment is left unintentionally blank.
enum ObjectType {
  // This comment is left unintentionally blank.
  UNKNOWN = 0; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
  // This comment is left unintentionally blank.
  COMMIT = 1; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // This comment is left unintentionally blank.
  BLOB = 2; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // This comment is left unintentionally blank.
  TREE = 3; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // This comment is left unintentionally blank.
  TAG = 4; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
}

// This comment is left unintentionally blank.
enum SignatureType {
  // This comment is left unintentionally blank.
  NONE = 0; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
  // This comment is left unintentionally blank.
  PGP = 1; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // This comment is left unintentionally blank.
  X509 = 2; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // This comment is left unintentionally blank.
  SSH = 3; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
  // maybe add X509+TSA or other combinations at a later step
}

// This comment is left unintentionally blank.
message Repository {
  // DEPRECATED: https://gitlab.com/gitlab-org/gitaly/issues/151
  reserved 1;
  reserved "path";

  // This comment is left unintentionally blank.
  string storage_name = 2;
  // This comment is left unintentionally blank.
  string relative_path = 3;
  // Sets the GIT_OBJECT_DIRECTORY envvar on git commands to the value of this field.
  // It influences the object storage directory the SHA1 directories are created underneath.
  string git_object_directory = 4;
  // Sets the GIT_ALTERNATE_OBJECT_DIRECTORIES envvar on git commands to the values of this field.
  // It influences the list of Git object directories which can be used to search for Git objects.
  repeated string git_alternate_object_directories = 5;
  // Used in callbacks to GitLab so that it knows what repository the event is
  // associated with. May be left empty on RPC's that do not perform callbacks.
  // During project creation, `gl_repository` may not be known.
  string gl_repository = 6;
  reserved 7;
  // The human-readable GitLab project path (e.g. gitlab-org/gitlab-ce).
  // When hashed storage is use, this associates a project path with its
  // path on disk. The name can change over time (e.g. when a project is
  // renamed). This is primarily used for logging/debugging at the
  // moment.
  string gl_project_path = 8;
}

// A single Git trailer (https://git-scm.com/docs/git-interpret-trailers)
// key-value pair.
message CommitTrailer {
  // The key of the trailer, such as `Signed-off-by`.
  bytes key = 1;
  // The value of the trailer, such as `Alice <alice@gmail.com>`.
  bytes value = 2;
}

// Corresponds to Gitlab::Git::Commit
message GitCommit {
  // This comment is left unintentionally blank.
  string id = 1;
  // This comment is left unintentionally blank.
  bytes subject = 2;
  // This comment is left unintentionally blank.
  bytes body = 3;
  // This comment is left unintentionally blank.
  CommitAuthor author = 4;
  // This comment is left unintentionally blank.
  CommitAuthor committer = 5;
  // This comment is left unintentionally blank.
  repeated string parent_ids = 6;
  // If body exceeds a certain threshold, it will be nullified,
  // but its size will be set in body_size so we can know if
  // a commit had a body in the first place.
  int64 body_size = 7;
  // This comment is left unintentionally blank.
  SignatureType signature_type = 8;
  // The tree ID will always be filled, even if the tree is empty. In that case
  // the value will be `4b825dc642cb6eb9a060e54bf8d69288fbee4904`.
  // That value is equivalent to `git hash-object -t tree /dev/null`
  string tree_id = 9;
  // The list of Git trailers (https://git-scm.com/docs/git-interpret-trailers)
  // found in this commit's message. The number of trailers and their key/value
  // sizes are limited. If a trailer exceeds these size limits, it and any
  // trailers that follow it are not included.
  repeated CommitTrailer trailers = 10;
}

// This comment is left unintentionally blank.
message CommitAuthor {
  // This comment is left unintentionally blank.
  bytes name = 1;
  // This comment is left unintentionally blank.
  bytes email = 2;
  // This comment is left unintentionally blank.
  google.protobuf.Timestamp date = 3;
  // This comment is left unintentionally blank.
  bytes timezone = 4;
}

// This comment is left unintentionally blank.
message ExitStatus {
  // This comment is left unintentionally blank.
  int32 value = 1;
}

// Corresponds to Gitlab::Git::Branch
message Branch {
  // This comment is left unintentionally blank.
  bytes name = 1;
  // This comment is left unintentionally blank.
  GitCommit target_commit = 2;
}

// This comment is left unintentionally blank.
message Tag {
  // This comment is left unintentionally blank.
  bytes name = 1;
  // This comment is left unintentionally blank.
  string id = 2;
  // This comment is left unintentionally blank.
  GitCommit target_commit = 3;
  // If message exceeds a certain threshold, it will be nullified,
  // but its size will be set in message_size so we can know if
  // a tag had a message in the first place.
  bytes message = 4;
  // This comment is left unintentionally blank.
  int64 message_size = 5;
  // This comment is left unintentionally blank.
  CommitAuthor tagger = 6;
  // This comment is left unintentionally blank.
  SignatureType signature_type = 7;
}

// This comment is left unintentionally blank.
message User {
  // This comment is left unintentionally blank.
  string gl_id = 1;
  // This comment is left unintentionally blank.
  bytes name = 2;
  // This comment is left unintentionally blank.
  bytes email = 3;
  // This comment is left unintentionally blank.
  string gl_username = 4;
  // Timezone is the timezone as configured by the user in the web interface. This
  // timezone may be used when new commits are created via RPC calls.
  string timezone = 5;
}

// This comment is left unintentionally blank.
message ObjectPool {
  // This comment is left unintentionally blank.
  Repository repository = 1 [(gitaly.repository)=true];
}

// This comment is left unintentionally blank.
message PaginationParameter {
  // Instructs pagination to start sending results after the provided page
  // token appears. A page token allows for a generic pattern to uniquely
  // identify a result or 'page'. Each paginated RPC may interpret a page
  // token differently.
  string page_token = 1;
  // When fully consuming the response the client will receive _at most_
  // `limit` number of resulting objects. Note that the number of response
  // messages might be much lower, as some response messages already send
  // multiple objects per message.
  // When the limit is smaller than 0, it will be normalized to 2147483647
  // on the server side. When limit is not set, it defaults to 0, and no
  // results are send in the response.
  int32 limit = 2;
}

// This comment is left unintentionally blank.
message PaginationCursor {
  // To the caller, this is an opaque token to indicate what the caller
  // should present as a page_token to get subsequent results.
  string next_cursor = 1;
}

// https://git-scm.com/docs/git/#_options
message GlobalOptions {
  // Treat pathspecs literally (i.e. no globbing, no pathspec magic)
  bool literal_pathspecs = 1;
}

// SortDirection defines the sort direction.
enum SortDirection {
  // ASCENDING sorts by the sort key in ascending order.
  ASCENDING = 0; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
  // DESCENDING sorts by the sort key in descending order.
  DESCENDING = 1; // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
}