Expand description
Carrying a container written when revs were zstd over to gzip. Native
only, and the last thing in the tree that names zstd.
blockworx migrate: a container written when revs were zstd, read by a
build that writes them as gzip.
One compressor everywhere is what lets a container move between a
browser and a desktop untranslated, and zstd’s C does not build for
wasm32-unknown-unknown — so the format changed, and the containers
already on the developer’s disk are carried over rather than left
behind. This module is the last thing in the tree that names zstd and
goes with the release after the one that lands it.
The manifest is rewritten, because it has to be. A row stamps the
digest of the bytes the rev file holds, so re-compressing a rev changes
what its row must say, and every row after it links to that row. Each
row keeps every column it carried — the wall time, the author, the
camera, the kind, the label — and gets a new hash and a new parent,
which is exactly the chain the same rows would have had if this build
had written them. The file goes down whole or not at all.
Enums§
- Migrated
- What the migration did.
- Migration
Failure
Functions§
- carry_
over 🔒 - Read rev
atas zstd and write it back as gzip, answering the digest its row must now stamp and whether anything moved. - lines 🔒
- read 🔒
- read_
manifest 🔒 - restamp 🔒
- Give every row the hash its rev now has, and chain the file again.
- to_gzip
- Rewrite
storage’s revs from zstd to gzip, re-stamp the rows that name them, and refresh the projection so its stamp names the head as it now stands. - zstd_
entry 🔒 - What a rev file was called before the encoding changed.