(repo, *args, a_rev=None, b_rev=None, param_deps=False, **kwargs)
| 6 | |
| 7 | |
| 8 | def diff(repo, *args, a_rev=None, b_rev=None, param_deps=False, **kwargs): |
| 9 | from dvc.repo.experiments.collect import collect_rev |
| 10 | from dvc.scm import resolve_rev |
| 11 | |
| 12 | if repo.scm.no_commits: |
| 13 | return {} |
| 14 | |
| 15 | if a_rev: |
| 16 | rev = resolve_rev(repo.scm, a_rev) |
| 17 | else: |
| 18 | rev = resolve_rev(repo.scm, "HEAD") |
| 19 | old = collect_rev(repo, rev, param_deps=param_deps) |
| 20 | |
| 21 | if b_rev: |
| 22 | rev = resolve_rev(repo.scm, b_rev) |
| 23 | else: |
| 24 | rev = "workspace" |
| 25 | new = collect_rev(repo, rev, param_deps=param_deps) |
| 26 | |
| 27 | with_unchanged = kwargs.pop("all", False) |
| 28 | return { |
| 29 | key: _diff( |
| 30 | format_dict(getattr(old.data, key, {})), |
| 31 | format_dict(getattr(new.data, key, {})), |
| 32 | with_unchanged=with_unchanged, |
| 33 | ) |
| 34 | for key in ["metrics", "params"] |
| 35 | } |
no test coverage detected