diff --git a/dvc/repo/update.py b/dvc/repo/update.py index c4d2e2adc..42c9d7d96 100644 --- a/dvc/repo/update.py +++ b/dvc/repo/update.py @@ -1,3 +1,5 @@ +from dvc.exceptions import InvalidArgumentError + from . import locked @@ -19,6 +21,11 @@ def update( if isinstance(targets, str): targets = [targets] + if not to_remote and remote: + raise InvalidArgumentError( + "--remote can't be used without --to-remote" + ) + stages = set() for target in targets: stages.update(self.stage.collect(target, recursive=recursive)) diff --git a/dvc/stage/imports.py b/dvc/stage/imports.py index c3f91628e..29dc0f987 100644 --- a/dvc/stage/imports.py +++ b/dvc/stage/imports.py @@ -18,7 +18,7 @@ def update_import(stage, rev=None, to_remote=False, remote=None, jobs=None): if to_remote: _update_import_on_remote(stage, remote, jobs) else: - stage.reproduce() + stage.reproduce(jobs=jobs) finally: stage.frozen = frozen diff --git a/tests/unit/command/test_update.py b/tests/unit/command/test_update.py index 8092810ea..11523c19d 100644 --- a/tests/unit/command/test_update.py +++ b/tests/unit/command/test_update.py @@ -4,7 +4,16 @@ from dvc.command.update import CmdUpdate def test_update(dvc, mocker): cli_args = parse_args( - ["update", "target1", "target2", "--rev", "REV", "--recursive"] + [ + "update", + "target1", + "target2", + "--rev", + "REV", + "--recursive", + "-j", + "8", + ] ) assert cli_args.func == CmdUpdate cmd = cli_args.func(cli_args) @@ -18,7 +27,7 @@ def test_update(dvc, mocker): recursive=True, to_remote=False, remote=None, - jobs=None, + jobs=8, )