我使用DVC跟踪我的媒体文件。我使用MacOS,并且希望DVC忽略“ .DS_Store”文件。根据DVC文档,我可以使用.dvcignore来实现。我使用“ .DS_Store”规则创建了.dvcignore
文件。但是,每次创建“ .DS_Store”时,dvc status
仍会说内容已更改
这是重现我的问题的小测试:
$ git init
$ dvc init
# create directory to store data
# and track it's content with DVC
$ mkdir data
$ dvc add data
# Ignore .DS_Store files created by MacOS
$ echo ".DS_Store" > .dvcignore
# create .DS_Store in data dir
$ touch "data/.DS_Store"
如果我正确理解DVC文档,则dvc status
应该打印类似“管道是最新的。没有可复制的内容”之类的内容。但是dvc status
给了我
data.dvc:
changed outs:
modified: data
我如何才能真正忽略“ .DS_Store”文件?
答案 0 :(得分:3)
.dvcignore
的当前实现非常有限。进一步了解here。
请在此处提及您对此功能感兴趣-https://github.com/iterative/dvc/issues/1876。这将有助于我们的团队正确地确定问题的优先级。
目前可能的解决方法是使用以下方法之一-How to stop creating .DS_Store on Mac?
答案 1 :(得分:1)
看来这是自修复/实施以来!
$ dvc init --no-scm
...
$ mkdir data
$ dvc add data
WARNING: 'data' is empty.
Saving information to 'data.dvc'.
$ echo ".DS_Store" > .dvcignore
$ touch "data/.DS_Store"
$ tree -a data
data
└── .DS_Store
0 directories, 1 file
$ dvc status
Data and pipelines are up to date.