mirror of
https://github.com/martinvonz/jj.git
synced 2025-01-05 20:55:05 +00:00
b0e8e2a1af
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 |
||
---|---|---|
.. | ||
benches | ||
gen-protos | ||
src | ||
tests | ||
testutils | ||
Cargo.toml | ||
LICENSE |