mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
plots: add dvc plots -e/--experiment option (#4488)
* plots: add -e/--experiment option for plots diff * experiments: add method to get baseline for a given experiment * plots: default to diff against baseline instead of workspace/head for experiments * use exact match for experiments RE since name-rev may return relative commits
This commit is contained in:
@@ -76,3 +76,27 @@ def test_checkout(tmp_dir, scm, dvc):
|
||||
dvc.experiments.checkout(exp_b)
|
||||
assert (tmp_dir / "params.yaml").read_text().strip() == "foo: 3"
|
||||
assert (tmp_dir / "metrics.yaml").read_text().strip() == "foo: 3"
|
||||
|
||||
|
||||
def test_get_baseline(tmp_dir, scm, dvc):
|
||||
tmp_dir.gen("copy.py", COPY_SCRIPT)
|
||||
tmp_dir.gen("params.yaml", "foo: 1")
|
||||
stage = dvc.run(
|
||||
cmd="python copy.py params.yaml metrics.yaml",
|
||||
metrics_no_cache=["metrics.yaml"],
|
||||
params=["foo"],
|
||||
name="copy-file",
|
||||
)
|
||||
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
|
||||
scm.commit("init")
|
||||
expected = scm.get_rev()
|
||||
assert dvc.experiments.get_baseline(expected) is None
|
||||
|
||||
dvc.reproduce(stage.addressing, experiment=True, params=["foo=2"])
|
||||
rev = dvc.experiments.scm.get_rev()
|
||||
assert dvc.experiments.get_baseline(rev) == expected
|
||||
|
||||
dvc.reproduce(
|
||||
stage.addressing, experiment=True, params=["foo=3"], queue=True
|
||||
)
|
||||
assert dvc.experiments.get_baseline("stash@{0}") == expected
|
||||
|
||||
Reference in New Issue
Block a user