Crates.io 索引快照分支移动

2022年2月14日 · Crates.io 团队

crates.io 索引 的 Git 历史记录会定期被 压缩为一个提交 ,以最大限度地减少 Cargo 需要下载的历史记录。当索引被压缩时,我们会保存快照以保留 crate 发布的历史记录。

目前,这些快照以分支的形式存储在主索引 Git 仓库中。然而,这些分支正在占用服务器资源,因为每当 Cargo 请求 master 分支时,服务器仍必须考虑它们的内容。我们将从该仓库中删除快照分支,以确保 master 分支中引用的所有对象仅与 master 分支中的其他对象进行压缩,从而确保当前的克隆行为在服务器端更加高效。

这可能会如何影响你

如果你使用 Cargo

你不会看到此更改带来任何影响。Cargo 不使用快照分支,并且 Cargo 会定期处理索引压缩。如果你确实看到任何问题,那都是 bug,请 在 Cargo 仓库中报告它们

如果你使用快照分支

一周后,即 2022年2月21日,我们将从 crates.io-index 仓库中删除所有快照分支。所有历史的和将来的快照分支都将改为存放于 rust-lang/crates.io-index-archive 仓库 中。请在此之前更新任何引用快照分支的脚本或工具。

未来展望

在中期,我们正在优先完成 正在进行的工作 ,以添加一种通过 HTTP 提供静态索引文件的方式,这将进一步减轻服务器负载。索引仓库 不会 消失,以便旧版本的 Cargo 能够继续工作。更多详情请参阅 RFC 2789