Exemplo n.º 1
0
def diff(repo, *args, a_rev=None, b_rev=None, param_deps=False, **kwargs):
    from dvc.repo.experiments.show import _collect_experiment_commit
    from dvc.scm import resolve_rev

    if repo.scm.no_commits:
        return {}

    if a_rev:
        a_rev = fix_exp_head(repo.scm, a_rev)
        rev = resolve_rev(repo.scm, a_rev)
        old = _collect_experiment_commit(repo, rev, param_deps=param_deps)
    else:
        old = _collect_experiment_commit(
            repo, fix_exp_head(repo.scm, "HEAD"), param_deps=param_deps
        )

    if b_rev:
        b_rev = fix_exp_head(repo.scm, b_rev)
        rev = resolve_rev(repo.scm, b_rev)
        new = _collect_experiment_commit(repo, rev, param_deps=param_deps)
    else:
        new = _collect_experiment_commit(
            repo, "workspace", param_deps=param_deps
        )

    with_unchanged = kwargs.pop("all", False)

    return {
        key: _diff(
            format_dict(old.get("data", {}).get(key, {})),
            format_dict(new.get("data", {}).get(key, {})),
            with_unchanged=with_unchanged,
        )
        for key in ["metrics", "params"]
    }
Exemplo n.º 2
0
Arquivo: diff.py Projeto: zang3tsu/dvc
def diff(repo, *args, a_rev=None, b_rev=None, **kwargs):
    from dvc.repo.experiments.show import _collect_experiment

    if repo.scm.no_commits:
        return {}

    if a_rev:
        with repo.experiments.chdir():
            old = _collect_experiment(repo.experiments.exp_dvc, a_rev)
    else:
        old = _collect_experiment(repo, "HEAD")

    if b_rev:
        with repo.experiments.chdir():
            new = _collect_experiment(repo.experiments.exp_dvc, b_rev)
    else:
        new = _collect_experiment(repo, "workspace")

    with_unchanged = kwargs.pop("all", False)

    return {
        key: _diff(
            format_dict(old[key]),
            format_dict(new[key]),
            with_unchanged=with_unchanged,
        )
        for key in ["metrics", "params"]
    }
Exemplo n.º 3
0
def diff(repo, *args, a_rev=None, b_rev=None, param_deps=False, **kwargs):
    from dvc.repo.experiments.show import _collect_experiment_commit

    if repo.scm.no_commits:
        return {}

    if a_rev:
        rev = repo.scm.resolve_rev(a_rev)
        old = _collect_experiment_commit(repo, rev, param_deps=param_deps)
    else:
        old = _collect_experiment_commit(repo, "HEAD", param_deps=param_deps)

    if b_rev:
        rev = repo.scm.resolve_rev(b_rev)
        new = _collect_experiment_commit(repo, rev, param_deps=param_deps)
    else:
        new = _collect_experiment_commit(repo,
                                         "workspace",
                                         param_deps=param_deps)

    with_unchanged = kwargs.pop("all", False)

    return {
        key: _diff(
            format_dict(old[key]),
            format_dict(new[key]),
            with_unchanged=with_unchanged,
        )
        for key in ["metrics", "params"]
    }
Exemplo n.º 4
0
def diff(repo, *args, a_rev=None, b_rev=None, **kwargs):
    with_unchanged = kwargs.pop("all", False)

    old = _get_params(repo, *args, **kwargs, rev=(a_rev or "HEAD"))
    new = _get_params(repo, *args, **kwargs, rev=b_rev)

    return _diff(format_dict(old),
                 format_dict(new),
                 with_unchanged=with_unchanged)
Exemplo n.º 5
0
def diff(repo, *args, a_rev=None, b_rev=None, **kwargs):
    if repo.scm.no_commits:
        return {}

    with_unchanged = kwargs.pop("all", False)

    old = _get_metrics(repo, *args, **kwargs, rev=(a_rev or "HEAD"))
    new = _get_metrics(repo, *args, **kwargs, rev=b_rev)

    return _diff(
        format_dict(old), format_dict(new), with_unchanged=with_unchanged
    )
Exemplo n.º 6
0
def diff(repo, *args, a_rev=None, b_rev=None, **kwargs):
    if repo.scm.no_commits:
        return {}

    with_unchanged = kwargs.pop("all", False)

    a_rev = a_rev or "HEAD"
    b_rev = b_rev or "workspace"

    params = _get_params(repo, *args, **kwargs, revs=[a_rev, b_rev])
    old = params.get(a_rev, {})
    new = params.get(b_rev, {})

    return _diff(format_dict(old),
                 format_dict(new),
                 with_unchanged=with_unchanged)
Exemplo n.º 7
0
def diff(repo, *args, a_rev=None, b_rev=None, **kwargs):
    if repo.scm.no_commits:
        return {}

    with_unchanged = kwargs.pop("all", False)

    a_rev = a_rev or "HEAD"
    a_rev = fix_exp_head(repo.scm, a_rev)
    b_rev = fix_exp_head(repo.scm, b_rev) or "workspace"

    metrics = _get_metrics(repo, *args, **kwargs, revs=[a_rev, b_rev])
    old = metrics.get(a_rev, {})
    new = metrics.get(b_rev, {})

    return _diff(format_dict(old),
                 format_dict(new),
                 with_unchanged=with_unchanged)