-
Notifications
You must be signed in to change notification settings - Fork 1.2k
better error when output is dvcignored #3538
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@jorgeorpinel So having |
Maybe it behaves differently in distinct OSs? I'm on Windows (Cmder/ Git Bash):
|
@jorgeorpinel Oh, I misunderstood your report. Need to check that, indeed. @pared Maybe you have any ideas? |
Will check this, sorry for late response |
@jorgeorpinel that was happening on windows right?
|
Sorry guys. I don't remember which DVC commands I noticed originally that don't respect files in .dvcignore. It wasn't a great report... But I'm QAing this and I think there's definitely some funny stuff happening: $ echo data > data
$ echo data > .dvcignore
$ dvc add data
100% Add|██... # Works and puts it in .gitignore. Should ignore? E.g.:
$ git add data
The following paths are ignored by one of your .gitignore files:
data
Use -f if you really want to add them. I'm on 0.93.0 from exe installer now. Yes, Windows (Git Bash on Cmder) Also, the first example in https://dvc.org/doc/user-guide/dvcignore#examples doesn't work for me (all files inside data/ dir are added and cached). I didn't check the others. |
@jorgeorpinel hmm, that does not seem right. |
Hello! Update here, I'm on DVC 1.3 and this seems solved, although the message I get, $ dvc add data
Adding...
ERROR: output 'data' does not exist could be improved, similar to what
And, should we have a Thanks |
@jorgeorpinel Thanks for the update! Indeed, that message could be improved.
I would rather not do that. We've seen it causing very odd bugs in git, wouldn't want that for dvc unless there are some very good scenarios. Would wait for someone to ask for it. |
It seems the conflation of concepts "exists" and "ignored" leads to confusing error messages. In my case one of "run" outputs was by mistake ignored in .dvcignore, but the respective message was confusingly saying the file "does not exist". Possibly related source: dvc/tree/local.py#L79. |
@autayeu hi! |
Sure. Attached dvc.message.repro.zip is a minimum setup to reproduce the issue. To reproduce: Unpack, change into dvc.message.repro directory and run: dvc run -n preprocess -d preprocess.py -o data.txt -o data.log "python -u preprocess.py | tee -i data.log" You'll see:
However: (dvc) zzz:dvc.message.repro zzz$ ls -l
total 24
-rw-r--r-- 1 zzz zzz 15 Aug 12 15:45 data.log
-rw-r--r-- 1 zzz zzz 12 Aug 12 15:45 data.txt
-rw-r--r-- 1 zzz zzz 84 Aug 12 15:39 preprocess.py So data.log does exist. A bit unexpectedly, dvc also created empty .gitignore file: (dvc) zzz:dvc.message.repro zzz$ ls -l .gitignore
-rw-r--r-- 1 zzz zzz 0 Aug 12 16:05 .gitignore Other relevant outputs: (dvc) zzz:dvc.message.repro zzz$ cat .dvcignore
*.log (qac) zzz:dvc.message.repro zzz$ dvc version
DVC version: 1.4.0+12c701
---------------------------------
Platform: Python 3.8.5 on macOS-10.15.6-x86_64-i386-64bit
Supports: azure, gdrive, gs, hdfs, http, https, s3, ssh, oss
Cache types: reflink, hardlink, symlink
Repo: dvc, git |
@autayeu Thank you! It seems to me that we should rethink the message. |
@autayeu, @jorgeorpinel Fix for this issue is already on the master, will be available on the next release. |
👍 Thank you! |
Thanks guys. |
Uh oh!
There was an error while loading. Please reload this page.
UPDATE: Skip to #3538 (comment)
Having
data
in .dvcignore makes DVC commands ignore all file names starting with that string e.gdata2
,dataset
. https://dvc.org/doc/user-guide/dvcignore links to gitignore patterms but Git doesn't do that.UPDATE: Skip to #3538 (comment)
The text was updated successfully, but these errors were encountered: