3

我使用 DVC 来跟踪我的媒体文件。我使用 MacOS,我希望 DVC 忽略“.DS_Store”文件。根据 DVC 文档,我可以使用 .dvcignore来实现它。我.dvcignore使用“.DS_Store”规则创建了文件。但是,每次创建“.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”文件?

更新: .dvcignore 支持在最新版本中显着改进,问题不再相关。

4

2 回答 2

3

目前的实施.dvcignore非常有限。在此处阅读更多信息。

请在此处提及您对此功能感兴趣 - https://github.com/iterative/dvc/issues/1876。这将有助于我们的团队正确地确定问题的优先级。

目前可能的解决方法是使用其中一种方法 -如何停止在 Mac 上创建 .DS_Store?

于 2019-06-05T18:09:37.417 回答
2

看来这已经修复/实施了!

$ 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.
于 2019-09-19T18:18:56.073 回答