feat: init

This commit is contained in:
zhenyi
2026-06-07 11:30:56 +08:00
commit 563381c1ca
361 changed files with 41327 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
syntax = "proto3";
package gitks;
// Git object hash algorithm. GitHub and Gitaly both need to support SHA-1 today
// and SHA-256 repositories as they become more common.
enum ObjectFormat {
OBJECT_FORMAT_UNSPECIFIED = 0;
OBJECT_FORMAT_SHA1 = 1;
OBJECT_FORMAT_SHA256 = 2;
}
// Git object kind.
enum ObjectType {
OBJECT_TYPE_UNSPECIFIED = 0;
OBJECT_TYPE_COMMIT = 1;
OBJECT_TYPE_TREE = 2;
OBJECT_TYPE_BLOB = 3;
OBJECT_TYPE_TAG = 4;
}
// Canonical object id. `value` preserves the original binary representation used
// by the existing API; `hex` is the normalized lowercase hex form for clients.
message Oid {
bytes value = 1;
string hex = 2;
ObjectFormat format = 3;
}
message ObjectName {
// Revision expression, refname, oid hex, or pseudo-ref such as HEAD.
string revision = 1;
}
message ObjectSelector {
oneof selector {
Oid oid = 1;
ObjectName revision = 2;
}
}
message ObjectIdentity {
Oid oid = 1;
ObjectType type = 2;
int64 size = 3;
string abbreviated_oid = 4;
}
message Pagination {
uint32 page_size = 1;
string page_token = 2;
}
message PageInfo {
string next_page_token = 1;
bool has_next_page = 2;
uint64 total_count = 3;
}
enum SortDirection {
SORT_DIRECTION_UNSPECIFIED = 0;
SORT_DIRECTION_ASC = 1;
SORT_DIRECTION_DESC = 2;
}