blob: 71dd75cd64bb8ab7c587a40f6a3a2e5455fb7290 (
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
|
syntax = "proto3";
package gitaly;
option go_package = "gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb";
import "lint.proto";
import "shared.proto";
service HookService {
rpc PreReceiveHook(stream PreReceiveHookRequest) returns (stream PreReceiveHookResponse) {
option (op_type) = {
op: ACCESSOR
};
}
rpc PostReceiveHook(stream PostReceiveHookRequest) returns (stream PostReceiveHookResponse) {
option (op_type) = {
op: ACCESSOR
};
}
rpc UpdateHook(UpdateHookRequest) returns (stream UpdateHookResponse) {
option (op_type) = {
op: ACCESSOR
};
}
rpc ReferenceTransactionHook(stream ReferenceTransactionHookRequest) returns (stream ReferenceTransactionHookResponse) {
option (op_type) = {
op: ACCESSOR
};
}
// PackObjectsHook is meant to be called by git-upload-pack via the
// uploadpack.packObjectsHook mechanism. It generates a stream of packed
// Git objects.
rpc PackObjectsHook(stream PackObjectsHookRequest) returns (stream PackObjectsHookResponse) {
option (op_type) = {
op: ACCESSOR
};
}
}
message PreReceiveHookRequest {
Repository repository = 1 [(target_repository)=true];
repeated string environment_variables = 2;
bytes stdin = 4;
repeated string git_push_options = 5;
}
message PreReceiveHookResponse{
bytes stdout = 1;
bytes stderr = 2;
ExitStatus exit_status = 3;
}
message PostReceiveHookRequest {
Repository repository = 1 [(target_repository)=true];
repeated string environment_variables = 2;
bytes stdin = 3;
repeated string git_push_options = 4;
}
message PostReceiveHookResponse{
bytes stdout = 1;
bytes stderr = 2;
ExitStatus exit_status = 3;
}
message UpdateHookRequest {
Repository repository = 1 [(target_repository)=true];
repeated string environment_variables = 2;
bytes ref = 3;
string old_value = 4;
string new_value = 5;
}
message UpdateHookResponse{
bytes stdout = 1;
bytes stderr = 2;
ExitStatus exit_status = 3;
}
message ReferenceTransactionHookRequest {
Repository repository = 1 [(target_repository)=true];
repeated string environment_variables = 2;
bytes stdin = 3;
enum State {
PREPARED = 0;
COMMITTED = 1;
ABORTED = 2;
}
State state = 4;
}
message ReferenceTransactionHookResponse {
bytes stdout = 1;
bytes stderr = 2;
ExitStatus exit_status = 3;
}
message PackObjectsHookRequest {
Repository repository = 1 [(target_repository)=true];
// args contains the arguments passed to the pack-objects hook, without the leading "git"
repeated string args = 2;
// stdin is meant for consumption by git-pack-objects
bytes stdin = 3;
}
message PackObjectsHookResponse {
// stdout contains packfile data
bytes stdout = 1;
// stderr contains progress messages (such as "Enumerating objects ...")
bytes stderr = 2;
}
|