func()

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

	}
}