80 lines
1.6 KiB
Protocol Buffer
80 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package git.v1;
|
|
|
|
import "common.proto";
|
|
|
|
// Mirrors: cmd/tree/mod.rs — TreeKind
|
|
enum TreeKind {
|
|
TREE_KIND_BLOB = 0;
|
|
TREE_KIND_TREE = 1;
|
|
TREE_KIND_LFS_POINTER = 2;
|
|
}
|
|
|
|
// Mirrors: cmd/tree/mod.rs — TreeInfo
|
|
message TreeInfo {
|
|
ObjectId oid = 1;
|
|
uint64 entry_count = 2;
|
|
bool is_empty = 3;
|
|
}
|
|
|
|
// Mirrors: cmd/tree/mod.rs — TreeEntry
|
|
message TreeEntry {
|
|
string name = 1;
|
|
ObjectId oid = 2;
|
|
TreeKind kind = 3;
|
|
uint32 filemode = 4;
|
|
bool is_binary = 5;
|
|
bool is_lfs = 6;
|
|
string last_commit_message = 7;
|
|
string last_commit_time = 8;
|
|
string last_commit_author_name = 9;
|
|
string last_commit_author_email = 10;
|
|
}
|
|
|
|
message TreeEntriesRequest {
|
|
string repo_id = 1;
|
|
ObjectId oid = 2;
|
|
string base_path = 3;
|
|
bool last = 4;
|
|
}
|
|
|
|
message TreeEntriesResponse {
|
|
repeated TreeEntry entries = 1;
|
|
}
|
|
|
|
message TreeEntryByPathRequest {
|
|
string repo_id = 1;
|
|
ObjectId tree_oid = 2;
|
|
string path = 3;
|
|
}
|
|
|
|
message TreeEntryByPathResponse {
|
|
optional TreeEntry entry = 1;
|
|
}
|
|
|
|
message TreeEntryByPathFromCommitRequest {
|
|
string repo_id = 1;
|
|
ObjectId commit_oid = 2;
|
|
string path = 3;
|
|
}
|
|
|
|
message TreeEntryByPathFromCommitResponse {
|
|
optional TreeEntry entry = 1;
|
|
}
|
|
|
|
message ResolveTreeRequest {
|
|
string repo_id = 1;
|
|
ObjectId oid = 2;
|
|
}
|
|
|
|
message ResolveTreeResponse {
|
|
TreeInfo info = 1;
|
|
}
|
|
|
|
service TreeService {
|
|
rpc TreeEntries(TreeEntriesRequest) returns (TreeEntriesResponse);
|
|
rpc TreeEntryByPath(TreeEntryByPathRequest) returns (TreeEntryByPathResponse);
|
|
rpc TreeEntryByPathFromCommit(TreeEntryByPathFromCommitRequest) returns (TreeEntryByPathFromCommitResponse);
|
|
rpc ResolveTree(ResolveTreeRequest) returns (ResolveTreeResponse);
|
|
} |