From 36fd69be21b2a4e1ddea0683ae73ed61fed6d056 Mon Sep 17 00:00:00 2001 From: skshetry <18718008+skshetry@users.noreply.github.com> Date: Tue, 6 Jun 2023 18:44:19 +0545 Subject: [PATCH] add: remove `file` (#9548) * add: remove `file` Follow up to #9547. * Update add.py * fix tests --- dvc/repo/add.py | 11 ++--------- tests/func/test_add.py | 4 ++-- tests/func/test_move.py | 5 +++-- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/dvc/repo/add.py b/dvc/repo/add.py index 5211051dc..31639b7a3 100644 --- a/dvc/repo/add.py +++ b/dvc/repo/add.py @@ -51,9 +51,6 @@ def validate_args(targets: List[str], **kwargs: Any) -> None: invalid_opt = None to_remote = kwargs.get("to_remote") - if len(targets) > 1 and kwargs.get("file"): - raise InvalidArgumentError("cannot use '--file' with multiple targets") - if to_remote or kwargs.get("out"): message = "{option} can't be used with " message += "--to-remote" if to_remote else "-o" @@ -83,7 +80,6 @@ PIPELINE_TRACKED_UPDATE_FMT = ( def get_or_create_stage( repo: "Repo", target: str, - file: Optional[str] = None, external: bool = False, out: Optional[str] = None, to_remote: bool = False, @@ -106,7 +102,7 @@ def get_or_create_stage( stage = repo.stage.create( single_stage=True, validate=False, - fname=file or path, + fname=path, wdir=wdir, outs=[out], external=external, @@ -225,11 +221,10 @@ def _add(stage: "Stage", source: Optional[str] = None, no_commit: bool = False) @locked @scm_context -def add( # noqa: PLR0913 +def add( repo: "Repo", targets: Union["StrOrBytesPath", Iterator["StrOrBytesPath"]], no_commit: bool = False, - file: Optional[str] = None, external: bool = False, glob: bool = False, out: Optional[str] = None, @@ -245,7 +240,6 @@ def add( # noqa: PLR0913 validate_args( add_targets, no_commit=no_commit, - file=file, external=external, out=out, remote=remote, @@ -256,7 +250,6 @@ def add( # noqa: PLR0913 target: get_or_create_stage( repo, target, - file=file, external=external, out=out, to_remote=to_remote, diff --git a/tests/func/test_add.py b/tests/func/test_add.py index f7328ad10..faa5ad743 100644 --- a/tests/func/test_add.py +++ b/tests/func/test_add.py @@ -645,10 +645,10 @@ def test_add_from_data_dir(tmp_dir, scm, dvc): def test_add_parent_dir(tmp_dir, scm, dvc): tmp_dir.gen({"dir": {"file1": "file1 content"}}) out_path = os.path.join("dir", "file1") - dvc.add(out_path, file=out_path + ".dvc") + dvc.add(out_path) with pytest.raises(OverlappingOutputPathsError) as e: - dvc.add("dir", file="dir.dvc") + dvc.add("dir") assert str(e.value) == ( "Cannot add 'dir', because it is overlapping with other DVC " "tracked output: '{out}'.\n" diff --git a/tests/func/test_move.py b/tests/func/test_move.py index 31ae4233a..5d91fda45 100644 --- a/tests/func/test_move.py +++ b/tests/func/test_move.py @@ -1,4 +1,5 @@ import os +import shutil import textwrap import pytest @@ -138,10 +139,10 @@ def test_move_should_save_stage_info(tmp_dir, dvc): def test_should_move_to_dir_on_non_default_stage_file(tmp_dir, dvc): - stage_file_name = "stage.dvc" tmp_dir.gen({"file": "file_content"}) - dvc.add("file", file=stage_file_name) + dvc.add("file") + shutil.move("file.dvc", "stage.dvc") os.mkdir("directory") dvc.move("file", "directory")