jj/lib
Yuya Nishihara b0e8e2a1af index: move segment files to sub directory, add version number
I'm going to introduce breaking changes in index format. Some of them will
affect the file size, so version number or signature won't be needed. However,
I think it's safer to detect the format change as early as possible.

I have no idea if embedded version number is the best way. Because segment
files are looked up through the operation links, the version number could be
stored there and/or the "segments" directory could be versioned. If we want to
support multiple format versions and clients, it might be better to split the
tables into data chunks (e.g. graph entries, commit id table, change id table),
and add per-chunk version/type tag. I choose the per-file version just because
it's simple and would be non-controversial.

As I'm going to introduce format change pretty soon, this patch doesn't
implement data migration. The existing index files will be deleted and new
files will be created from scratch.

Planned index format changes include:
 1. remove unused "flags" field
 2. inline commit parents up to two
 3. add sorted change ids table
2024-02-12 19:38:36 +09:00
..
benches
gen-protos
src index: move segment files to sub directory, add version number 2024-02-12 19:38:36 +09:00
tests index: move segment files to sub directory, add version number 2024-02-12 19:38:36 +09:00
testutils compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
Cargo.toml compile integration tests as a single binary 2024-02-06 18:19:41 -08:00
LICENSE