exp apply: force apply by default (#5360)

* exp apply: force apply by default

* update tests
This commit is contained in:
Peter Rowlands (변기호)
2021-02-02 11:07:19 +09:00
committed by GitHub
parent 8205c84077
commit 2ea5ef07dd
7 changed files with 15 additions and 15 deletions
+4 -4
View File
@@ -764,10 +764,10 @@ def add_parser(subparsers, parent_parser):
formatter_class=argparse.RawDescriptionHelpFormatter,
)
experiments_apply_parser.add_argument(
"-f",
"--force",
action="store_true",
help="Overwrite any conflicting changes.",
"--no-force",
action="store_false",
dest="force",
help="Fail if this command would overwrite conflicting changes.",
)
experiments_apply_parser.add_argument(
"experiment", help="Experiment to be applied.",
+1 -1
View File
@@ -19,7 +19,7 @@ logger = logging.getLogger(__name__)
@locked
@scm_context
def apply(repo, rev, force=False, **kwargs):
def apply(repo, rev, force=True, **kwargs):
from dvc.repo.checkout import checkout as dvc_checkout
from dvc.scm.base import MergeConflictError, SCMError
+1 -1
View File
@@ -131,7 +131,7 @@ def test_resume_branch(tmp_dir, scm, dvc, checkpoint_stage, workspace):
)
checkpoint_a = first(results)
dvc.experiments.apply(branch_rev, force=True)
dvc.experiments.apply(branch_rev)
results = dvc.experiments.run(
checkpoint_stage.addressing,
checkpoint_resume=branch_rev,
+2 -2
View File
@@ -175,7 +175,7 @@ def test_apply(tmp_dir, scm, dvc, exp_stage, queue):
)
with pytest.raises(ApplyConflictError):
dvc.experiments.apply(exp_b)
dvc.experiments.apply(exp_b, force=False)
# failed apply should revert everything to prior state
assert (tmp_dir / "params.yaml").read_text().strip() == "foo: 2"
assert (
@@ -184,7 +184,7 @@ def test_apply(tmp_dir, scm, dvc, exp_stage, queue):
else "foo: 2"
)
dvc.experiments.apply(exp_b, force=True)
dvc.experiments.apply(exp_b)
assert (tmp_dir / "params.yaml").read_text().strip() == "foo: 3"
assert (
(tmp_dir / "metrics.yaml").read_text().strip() == metrics_original
+4 -4
View File
@@ -43,7 +43,7 @@ def test_all_commits(tmp_dir, scm, dvc, queued, expected):
exp_rev = first(results)
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
dvc.experiments.apply(exp_rev, force=True)
dvc.experiments.apply(exp_rev)
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
scm.commit("v2")
@@ -72,7 +72,7 @@ def test_all_branches(tmp_dir, scm, dvc, queued, expected):
exp_rev = first(results)
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
dvc.experiments.apply(exp_rev, force=True)
dvc.experiments.apply(exp_rev)
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
scm.commit("v2")
@@ -82,7 +82,7 @@ def test_all_branches(tmp_dir, scm, dvc, queued, expected):
dvc.experiments.run(stage.addressing, params=["foo=5"], queue=True)
exp_rev = first(results)
dvc.experiments.apply(exp_rev, force=True)
dvc.experiments.apply(exp_rev)
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
scm.commit("v3")
@@ -108,7 +108,7 @@ def test_all_tags(tmp_dir, scm, dvc, queued, expected):
exp_rev = first(results)
dvc.experiments.run(stage.addressing, params=["foo=3"], queue=True)
dvc.experiments.apply(exp_rev, force=True)
dvc.experiments.apply(exp_rev)
scm.add(["dvc.yaml", "dvc.lock", "copy.py", "params.yaml", "metrics.yaml"])
scm.commit("v2")
scm.tag("tag-v2")
+1 -1
View File
@@ -135,7 +135,7 @@ def test_show_checkpoint_branch(
)
checkpoint_a = first(results)
dvc.experiments.apply(branch_rev, force=True)
dvc.experiments.apply(branch_rev)
results = dvc.experiments.run(
checkpoint_stage.addressing,
checkpoint_resume=branch_rev,
+2 -2
View File
@@ -18,7 +18,7 @@ from .test_repro import default_arguments as repro_arguments
def test_experiments_apply(dvc, scm, mocker):
cli_args = parse_args(["experiments", "apply", "--force", "exp_rev"])
cli_args = parse_args(["experiments", "apply", "--no-force", "exp_rev"])
assert cli_args.func == CmdExperimentsApply
cmd = cli_args.func(cli_args)
@@ -26,7 +26,7 @@ def test_experiments_apply(dvc, scm, mocker):
assert cmd.run() == 0
m.assert_called_once_with(cmd.repo, "exp_rev", force=True)
m.assert_called_once_with(cmd.repo, "exp_rev", force=False)
def test_experiments_diff(dvc, scm, mocker):