Git附件谷歌硬盘专用遥控器
git-annex-remote-googledrive的Python项目详细描述
Git附件谷歌硬盘专用遥控器
git-append远程google drive为git-append添加了对google-drive的直接和快速支持,并提供了一些令人敬畏的新功能。
功能
- exporttree remotes
- 将凭据存储在存储库中
- 同时使用不同的google帐户(即使在同一个存储库中)
- 。更多内容,请参见Issues
安装
pip3 install git-annex-remote-googledrive
对于arch linux,有一个包可以在AUR
用法
创建git附件存储库(walkthrough)
在存储库中,运行
git-annex-remote-googledrive setup
,并按照说明使用您的google帐户进行身份验证。为Google Drive添加遥控器。此示例:
- 添加名为
google
的git附件远程
- 使用50mib块
- 在上载之前加密所有数据块并将密钥存储在附件存储库中
- 将文件存储在名为
git-annex
: 的文件夹/前缀中
- 添加名为
git annex initremote google type=external externaltype=googledrive prefix=git-annex chunk=50MiB encryption=shared mac=HMACSHA512
initremote命令调用gpg,如果机器的熵不足,则可以挂起。要调试问题,请使用--debug
标志,即git-annex initremote --debug
。
选项
Git Annex Remote GoogleDrive特有的选项
prefix
-将用于远程的文件夹的路径。如果它不存在,它就会被创造出来。root_id
-可以指定文件夹的ID,而不是路径。文件夹必须已经存在。这将使它独立于路径,并且无论您将它移到哪里,它都将始终由git附件找到。也可用于访问尚未添加到“我的驱动器”的共享文件夹。token
-存储凭据的文件的路径。默认值:token.jsonkeep_token
-如果要保留令牌文件,请设置为yes
。否则会在initremote期间删除。默认值:否
通用git附件选项
encryption
“无”、“混合”、“共享”或“pubkey”之一。见encryption。keyid
-指定用于加密的gpg密钥。mac
-mac算法。见encryption。exporttree
-设置为yes
,以便git附件导出可以使用这个特殊的远程。它不能作为通用专用遥控器使用。chunk
-存储大文件时启用chunking。
使用现有的远程(存储库布局注释)< /H2>
如果您从git-annex-remote rclone或git-annex-remote gdrive切换到已经使用nodir
结构,
它就像键入git annex enableremote <remote_name> externaltype=googledrive
一样简单。如果您使用的是不同的结构,将通知您运行git-annex-remote-googledrive migrate <prefix>
,以便将远程迁移到nodir
结构。
如果您有一个巨大的远程服务器,并且迁移需要很长时间,那么可以临时使用bash based git-annex-remote-gdrive,它可以在迁移期间访问文件。我也可以将此功能添加到此应用程序(#25)。
我决定不再支持其他布局,因为确实没有理由有子文件夹。google drive要求我们遍历每个文件操作的整个路径,这会导致明显的性能损失(尤其是在上传分块文件时)。另一方面,在一个google驱动器文件夹中包含数千个文件是完全可以的,因为它甚至不在内部使用文件夹结构。
选择块大小
根据需要选择块大小。通过使用低于所支持的最大文件大小的块大小 您的云存储提供商提供上传和下载服务,您无需担心遇到文件大小问题。 更小的块大小:泄漏更少关于存储库中文件大小的信息,需要更少的RAM, 当网络连接中断时,需要重新传输的数据更少。较大的块需要较少的圆 往返于您的云提供商,可能会很快呃。可以找到关于块大小的其他讨论 here和here
问题,贡献
如果遇到任何问题,请检查GitHub上的问题。 请提交拉取请求或为问题或潜在改进创建新问题。
许可证
版权所有2017 Silvio Ankermann。根据GPLv3授权。