fix exception on dvc stage add with non-existing dirs #8645
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Running
dvc stage add <..> -o nonexisting_dir/file
would fail with aFileNotFoundError
for the.gitignore
file innonexisting_dir
. This happened because the outputs are added to the.gitignore
when creating the stage.To reproduce:
mkdir tmp cd tmp git init dvc init dvc stage add -f -n prepare \ -p prepare.seed,prepare.split \ -d src/prepare.py -d data/data.xml \ -o data/prepared --pdb \ python src/prepare.py data/data.xml
this will raise
FileNotFoundError: data/.gitignore
fixes #5802