drone/gitrpc/proto/merge.proto

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;
}