def clone_or_pull_repo(local_repo: Repository, remote_repo: Repository):
    if not os.path.isdir(local_repo.path):
        local_repo.clone_from_remote(remote_repo)
        return 'clone'
    else:
        remote_hash = remote_repo.get_head_hash()
        local_hash = local_repo.get_head_hash()

        if remote_hash != local_hash:
            local_repo.pull()
            return 'pull'
        else:
            return ''