0

我是 Datalad 的新手。我正在尝试为每个对我的 Datalad 数据集进行任何更改的人获取版本历史记录和提交详细信息。

到目前为止,我能够将本地数据集的同级创建到云存储桶,并能够将 Datalad 数据集导出到 GCS 存储桶/Datalad 同级。

我在这里想要实现的是以下几点: -

  1. 在某些文件被更改到我的 Datalad 目录的地方,提交应该能够捕获用户详细信息。

目前,它捕获了我在 git 安装期间设置的我的 git config 详细信息。有没有办法在提交时使用 Datalad 动态传递这些值?

  1. 我不希望我的本地磁盘维护文件的历史记录,只是元数据,我想将它存储在 GCS 存储桶上的版本历史记录。

目前,我可以使用 git-annex export 命令将所有文件/文件夹(包含历史记录的 .git 文件夹除外)推送到 GCS 兄弟。有没有办法将版本历史推送到 GCS 存储桶并从那里获得洞察力,而不是在本地存储所有内容?

  1. 此外,我使用的大多数命令都是 git-annex 命令。是否存在用于相同操作的 Datalad API?

任何见解都会有所帮助。

4

1 回答 1

0

据我了解,Datalad 历史文件是一个文本文件,对于您的第三个问题,我可以说您可以使用 Cloud Storage 中的 txt 文件,而无需在本地下载它。您可以通过使用存储 URL 访问文件来实现此目的,即:“https://storage.cloud.google.com/{MyBucket}/{MytxtFile}.txt”

从这里您将能够动态获取文本内容,即发出 GET 请求将返回文件内容。

现在,如果您与我们分享一个您想要实现的确切目标的示例,即您正在使用什么命令,将会很有用。根据Datalog 获取文档,它似乎需要一个本地文件,我不确定您是否可以在没有本地文件的情况下使其工作(通过 curl)

使用 Cloud Storage 或本地文件之间可能的中间解决方案是使用Cloud Storage FUSE,这样您就可以将 Cloud Storage 存储桶挂载为 Linux 或 macOS 系统上的文件系统,您可以在本地操作和访问您的文件,这些更改将反映在桶。

于 2020-11-19T11:38:07.267 回答