Skip to content

Commit 9008eab

Browse files
committed
Announcement that the snapshot branches are moving
1 parent 9fe3dcf commit 9008eab

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
layout: post
3+
title: "Crates.io Index Snapshot Branches Moving"
4+
author: the crates.io team <https://www.rust-lang.org/governance/teams/crates-io>
5+
release: false
6+
---
7+
8+
Every so often, the [crates.io index](https://github.com/rust-lang/crates.io-index)'s Git history
9+
is [squashed into one
10+
commit](https://internals.rust-lang.org/t/cargos-crate-index-upcoming-squash-into-one-commit/8440)
11+
to minimize the history Cargo needs to download. When the index is squashed, we have saved snapshot
12+
branches to preserve the history of crate publishes.
13+
14+
Those branches are using server resources because of the recompression of objects that are
15+
delta-compressed against objects that are only referenced in branches not fetched by the client. We
16+
will be deleting the snapshot branches to ensure that all objects referenced in the master branch
17+
will only be compressed against other objects in the master branch, ensuring that the current clone
18+
behavior will be much more efficient on the server side.
19+
20+
Here's how this might affect you:
21+
22+
## If you use Cargo
23+
24+
You should not see any effects from this change. Cargo does not use the snapshot branches, and
25+
Cargo regularly handles index squashes. If you do see any issues, they are a bug, please [report
26+
them on the Cargo repo](https://github.com/rust-lang/cargo).
27+
28+
## If you use the snapshot branches
29+
30+
In one week, on 2022-02-21, we will be removing all snapshot branches from the crates.io-index
31+
repo. All snapshot branches, both historical and in the future, are and will be in the
32+
[rust-lang/crates.io-index-archive repo](https://github.com/rust-lang/crates.io-index-archive)
33+
instead. Please update any scripts or tools referencing the snapshot branches by that time.
34+
35+
## In the future
36+
37+
In the medium term, we're working to prioritize the completion of [in-progress
38+
work](https://github.com/rust-lang/cargo/issues/9069) to add a way to serve the index as static
39+
files on HTTP, which will further ease the server load. The index repository will *not* be going
40+
away so that older versions of Cargo will continue to work. See [RFC
41+
2789](https://github.com/rust-lang/rfcs/pull/2789) for more details.

0 commit comments

Comments
 (0)