예제 #1
0
파일: cli.py 프로젝트: zeroae/ght
def render(url, refspec, dest_branch):
    """Render the template.

    \b
    REFSPEC: The template branch/refspec to use for rendering [default=master]
    GHT_BRANCH: The destination branch of the rendered results [default=ght/master]
    """
    if not dest_branch.startswith("ght/"):
        raise click.ClickException(
            "Refusing to render the template."
            f"The destination branch `{dest_branch}` does not begin ght/.")

    repo_path = resolve_repository_path(".")
    ght = GHT(repo_path=repo_path, template_url=url, template_ref=refspec)
    ght.load_config()

    if ght.template_url is None:
        raise click.ClickException(
            "Could not detect the template repository url. "
            "Please set it manually with -u/--url")

    with stashed_checkout(ght.repo, dest_branch):
        ght.render_tree()

    return 0
예제 #2
0
파일: test_action.py 프로젝트: zeroae/ght
def test_render_ght_conf(ght: GHT):
    ght.render_ght_conf()
    ght.load_config()
    assert ght.config["ght"]["abc"] == "alpha/beta/charlie"
    assert ght.config["ght"]["abcd"] == "alpha/beta/charlie/delta"