in internal/gitaly/gitaly.go [139:171]
func (gc *GitalyClient) GetCurrentSHA() (string, error) {
repoExistsResponse, err := gc.repositoryServiceClient.RepositoryExists(gc.ctx, &pb.RepositoryExistsRequest{
Repository: gc.repository,
})
if err != nil {
return "", err
}
if repoExistsResponse.Exists {
defaultBranchName, err := gc.findDefaultBranchName()
if err != nil {
return "", err
}
if len(defaultBranchName) == 0 {
return "", nil
}
request := &pb.FindCommitRequest{
Repository: gc.repository,
Revision: defaultBranchName,
}
response, err := gc.commitServiceClient.FindCommit(gc.ctx, request)
if err != nil {
return "", fmt.Errorf("cannot look up HEAD: %w", err)
}
return response.Commit.Id, nil
} else {
return "", nil
}
}