mirror of
https://github.com/harness/drone.git
synced 2025-05-01 21:21:11 +00:00
75 lines
2.4 KiB
Protocol Buffer
75 lines
2.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
package rpc;
|
|
|
|
option go_package = "github.com/harness/gitness/gitrpc/rpc";
|
|
|
|
import "shared.proto";
|
|
|
|
// DiffService is a service which provides RPCs to inspect differences
|
|
// introduced between a set of commits.
|
|
service MergeService {
|
|
rpc Merge(MergeRequest) returns (MergeResponse) {}
|
|
}
|
|
|
|
|
|
message MergeRequest {
|
|
enum MergeMethod {
|
|
merge = 0;
|
|
squash = 1;
|
|
rebase = 2;
|
|
}
|
|
WriteRequest base = 1;
|
|
// head_branch is the source branch we want to merge
|
|
string head_branch = 2;
|
|
// base_branch is the branch into which the given commit shall be merged and whose
|
|
// reference is going to be updated.
|
|
string base_branch = 3;
|
|
// title is the title to use for the merge commit.
|
|
string title = 4;
|
|
// message is the message to use for the merge commit.
|
|
string message = 5;
|
|
// author is the person who originally wrote the code
|
|
Identity author = 6;
|
|
// authorDate is the date when the code was written
|
|
int64 authorDate = 7;
|
|
// committer is the person who last applied the patch
|
|
Identity committer = 8;
|
|
// committer is the date when the code was applied
|
|
int64 committerDate = 9;
|
|
|
|
// ref_type is an otional value and is used to generate the full
|
|
// reference in which the merge result is stored.
|
|
RefType ref_type = 10;
|
|
// ref_name is an otional value and is used to generate the full
|
|
// reference in which the merge result is stored.
|
|
string ref_name = 11;
|
|
|
|
// head_expected_sha is commit sha on the head branch, if head_expected_sha is older
|
|
// than the head_branch latest sha then merge will fail.
|
|
string head_expected_sha = 12;
|
|
|
|
// force merge
|
|
bool force = 13;
|
|
// delete branch after merge
|
|
bool delete_head_branch = 14;
|
|
// merging method
|
|
MergeMethod method = 15;
|
|
}
|
|
|
|
message MergeResponse {
|
|
// base_sha is the sha of the latest commit on the base branch that was used for merging.
|
|
string base_sha = 1;
|
|
// head_sha is the sha of the latest commit on the head branch that was used for merging.
|
|
string head_sha = 2;
|
|
// merge_base_sha is the sha of the merge base of the head_sha and base_sha
|
|
string merge_base_sha = 3;
|
|
// merge_sha is the sha of the commit after merging head_sha with base_sha.
|
|
string merge_sha = 4;
|
|
}
|
|
|
|
// MergeConflictError is an error returned in the case when merging two commits
|
|
// fails due to a merge conflict.
|
|
message MergeConflictError {
|
|
// ConflictingFiles is the set of files which have been conflicting.
|
|
repeated string conflicting_files = 1;
|
|
} |