async def METHOD_NAME(
    vc_repo: VersionControlRepository,
    project_uuid: UUID,
    ref_id: RefID,
    *,
    message: str | None = None,
    tag: str | None = None,
) -> Checkpoint:
    repo_id, commit_id = await vc_repo.as_repo_and_commit_ids(project_uuid, ref_id)
    if message is None and tag is None:
        _logger.warning(
            "Nothing to update. Skipping updating ref %s of %s", ref_id, project_uuid
        )
    else:
        await vc_repo.update_annotations(repo_id, commit_id, message, tag)
    commit, tags = await vc_repo.get_commit_log(commit_id)
    return Checkpoint.from_commit_log(commit, tags)