正如#940 中所讨论的,我认为我们需要将存储库布局标准化为本地/sftp 后端使用的内容。 我想开始朝着那个方向前进。 基本原理是,无论后端如何,只有一种布局可以轻松地移动数据并静态访问存储库,因此它“正常工作”。 本地布局是子目录数量和文件数量之间的一个很好的折衷方案。 在不久的将来,我们可能会取消每个包文件 16MiB 的限制,这对于非常大的存储库来说应该会更好地扩展。
待办事项大致如下:
design.rst
文件中记录设计决策migrate
命令(或类似命令)将 s3 存储库转换为默认格式本地/sftp 后端已经能够自动检测布局并使用它。
(我可能会添加更多列表项)。
目前我想保留 REST 协议和服务器, @zcalusic在服务器实现中确保磁盘格式是本地布局。
我刚刚合并了 #966,它为 s3 后端添加了对默认布局的支持。 其他问题将在新的 PR 中解决。 s3 后端的默认布局仍然是s3legacy
。
完毕。 default
现在是 s3 后端的默认布局,并且有一个 migrate 命令。
用户在访问旧的 S3 存储库时会收到一条好消息,告诉他们运行迁移吗? 或者这一切都在表面之下,除非您放弃 s3_legacy 支持,否则他们永远不会知道?
嗯,我没有计划得这么详细。 我们会在变更日志中肯定地提到它,当我们逐步淘汰 s3legacy 的几个版本时,我们可能会显示警告。 那应该这样做。 此外,还没有完成migrate
命令的文档。
最有用的评论
我刚刚合并了 #966,它为 s3 后端添加了对默认布局的支持。 其他问题将在新的 PR 中解决。 s3 后端的默认布局仍然是
s3legacy
。