mirror of
https://github.com/harness/drone.git
synced 2025-05-04 23:22:42 +08:00

This change adds the following: - create / delete branch - basic error propagation from git to user (notfound, conflict, invalidinput) - create repo root folder in server instead of service constructor
126 lines
2.6 KiB
Protocol Buffer
126 lines
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
package rpc;
|
|
|
|
option go_package = "github.com/harness/gitness/gitrpc/rpc";
|
|
|
|
import "shared.proto";
|
|
|
|
// RepositoryService is a service providing RPCs accessing repositories as a whole.
|
|
service RepositoryService {
|
|
rpc CreateRepository(stream CreateRepositoryRequest) returns (CreateRepositoryResponse);
|
|
rpc GetTreeNode(GetTreeNodeRequest) returns (GetTreeNodeResponse);
|
|
rpc ListTreeNodes(ListTreeNodesRequest) returns (stream ListTreeNodesResponse);
|
|
rpc GetSubmodule(GetSubmoduleRequest) returns (GetSubmoduleResponse);
|
|
rpc GetBlob(GetBlobRequest) returns (GetBlobResponse);
|
|
rpc ListCommits(ListCommitsRequest) returns (stream ListCommitsResponse);
|
|
}
|
|
|
|
message CreateRepositoryRequest {
|
|
oneof data {
|
|
CreateRepositoryRequestHeader header = 1;
|
|
FileUpload file = 2;
|
|
}
|
|
}
|
|
|
|
message CreateRepositoryRequestHeader {
|
|
string uid = 1;
|
|
string default_branch = 2;
|
|
}
|
|
|
|
message CreateRepositoryResponse { }
|
|
|
|
message GetTreeNodeRequest {
|
|
string repo_uid = 1;
|
|
string git_ref = 2;
|
|
string path = 3;
|
|
bool include_latest_commit = 4;
|
|
}
|
|
|
|
message GetTreeNodeResponse {
|
|
TreeNode node = 1;
|
|
Commit commit = 2;
|
|
}
|
|
|
|
message ListTreeNodesRequest {
|
|
string repo_uid = 1;
|
|
string git_ref = 2;
|
|
string path = 3;
|
|
bool include_latest_commit = 4;
|
|
bool recursive = 5;
|
|
}
|
|
|
|
message ListTreeNodesResponse {
|
|
TreeNode node = 1;
|
|
Commit commit = 2;
|
|
}
|
|
|
|
message TreeNode {
|
|
TreeNodeType type = 1;
|
|
TreeNodeMode mode = 2;
|
|
string sha = 3;
|
|
string name = 4;
|
|
string path = 5;
|
|
}
|
|
|
|
enum TreeNodeType {
|
|
TreeNodeTypeTree = 0;
|
|
TreeNodeTypeBlob = 1;
|
|
TreeNodeTypeCommit = 2;
|
|
}
|
|
|
|
enum TreeNodeMode {
|
|
TreeNodeModeFile = 0;
|
|
TreeNodeModeSymlink = 1;
|
|
TreeNodeModeExec = 2;
|
|
TreeNodeModeTree = 3;
|
|
TreeNodeModeCommit = 4;
|
|
}
|
|
|
|
message ListCommitsRequest {
|
|
string repo_uid = 1;
|
|
string git_ref = 2;
|
|
int32 page = 3;
|
|
int32 pageSize = 4;
|
|
}
|
|
|
|
message ListCommitsResponse {
|
|
oneof data {
|
|
ListCommitsResponseHeader header = 1;
|
|
Commit commit = 2;
|
|
}
|
|
}
|
|
|
|
message ListCommitsResponseHeader {
|
|
int64 total_count = 1;
|
|
}
|
|
|
|
message GetBlobRequest {
|
|
string repo_uid = 1;
|
|
string sha = 2;
|
|
int64 sizeLimit = 3;
|
|
}
|
|
|
|
message GetBlobResponse {
|
|
Blob blob = 1;
|
|
}
|
|
|
|
message Blob {
|
|
string sha = 1;
|
|
int64 size = 2;
|
|
bytes content = 3;
|
|
}
|
|
|
|
message GetSubmoduleRequest {
|
|
string repo_uid = 1;
|
|
string git_ref = 2;
|
|
string path = 3;
|
|
}
|
|
|
|
message GetSubmoduleResponse {
|
|
Submodule submodule = 1;
|
|
}
|
|
|
|
message Submodule {
|
|
string name = 1;
|
|
string url = 2;
|
|
} |