diff --git a/dvc/stage/__init__.py b/dvc/stage/__init__.py index 3729b86d5..79800ea6c 100644 --- a/dvc/stage/__init__.py +++ b/dvc/stage/__init__.py @@ -377,11 +377,7 @@ class Stage(params.StageParams): @staticmethod def _changed_entries(entries): - return [ - str(entry) - for entry in entries - if entry.checksum and entry.changed_checksum() - ] + return [str(entry) for entry in entries if entry.changed_checksum()] def _changed_stage_entry(self): return f"'md5' of {self} changed." diff --git a/tests/func/test_commit.py b/tests/func/test_commit.py index 75f7dbe8a..944ade59a 100644 --- a/tests/func/test_commit.py +++ b/tests/func/test_commit.py @@ -70,3 +70,13 @@ def test_commit_changed_md5(tmp_dir, dvc): dvc.commit(stage.path) dvc.commit(stage.path, force=True) + + +def test_commit_no_exec(tmp_dir, dvc): + tmp_dir.gen({"dep": "dep", "out": "out"}) + stage = dvc.run( + name="my", cmd="mycmd", deps=["dep"], outs=["out"], no_exec=True + ) + assert dvc.status(stage.path) + dvc.commit(stage.path, force=True) + assert dvc.status(stage.path) == {}