Conversation RefService::FindBranch
Feature Flag: gitaly_find_branch
Stages:
-
RPC Design: #500 (closed) https://gitlab.com/gitlab-org/gitaly/merge_requests/315 -
Server Implementation: https://gitlab.com/gitlab-org/gitaly/issues/501 https://gitlab.com/gitlab-org/gitaly/merge_requests/315 -
Client Implementation: https://gitlab.com/gitlab-org/gitaly/issues/502 https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13873 -
Acceptance Testing: https://gitlab.com/gitlab-org/gitaly/issues/571
RPC Endpoints:
RefService::FindBranch
Known Client Routes:
- Known client endpoints
We should use gitaly-ruby because this method relies on Rugged::BranchCollection which does weird things. E.g. master
, heads/master
and refs/heads/master
all return the same result.
service RefService {
rpc FindBranch(FindBranchRequest) returns (FindBranchResponse) {}
}
message FindBranchRequest {
Repository repository = 1;
// Name can be 'master' but also 'refs/heads/master'
bytes name = 2;
}
message FindBranchResponse {
Branch branch = 1;
}
// should go in shared.proto
message Branch {
bytes name = 1;
GitCommit target_commit = 2;
}