Upper.V4type gced = {suffix_start_offset : Optint.Int63.t;generation : int;latest_gc_target_offset : Optint.Int63.t;suffix_dead_bytes : Optint.Int63.t;}Similar to from_v3_gced. New fields:
latest_gc_target_offset is the commit on which the latest gc was called on.
suffix_dead_bytes is the number of bytes at the beginning of the suffix that should be considered unreachable after a GC.
val gced_t : gced Irmin.Type.ttype status = | From_v1_v2_post_upgrade of V3.from_v1_v2_post_upgrade| No_gc_yet| Used_non_minimal_indexing_strategy| Gced of gced| T1| T2| T3| T4| T5| T6| T7| T8| T9| T10| T11| T12| T13| T14| T15From_v1_v2_post_upgrade similar to V3.From_v1_v2_post_upgrade
No_gc_yet corresponds to a pack store that was created using `V3 or above. It never underwent a GC.
Used_non_minimal_indexing_strategy corresponds to a pack store that was created using `V3 or above. It never underwent a GC and it will never be possible to GC it because entries were pushed using a non-minimal indexing strategy.
Gced is a `V3 or `V4 store that was GCed at least once.
The T* tags are provisional tags that the binary decoder is aware of and that may in the future be used to add features to the `V4 payload.
val status_t : status Irmin.Type.ttype t = {dict_end_poff : Optint.Int63.t;appendable_chunk_poff : Optint.Int63.t;upgraded_from_v3_to_v4 : bool;checksum : Optint.Int63.t;chunk_start_idx : int;chunk_num : int;status : status;}The same as V3.t, with the following modifications:
New fields
upgraded_from_v3_to_v4 recalls if the store was originally created in `V3.chunk_start_idx is the index for the starting chunk of the suffixchunk_num is the number of chunks in the suffixchecksum for storing a checksum of the payloadappendable_chunk_poff is a value used by the chunked suffix. See Chunked_suffix.S.appendable_chunk_poff for more details.Removed fields
suffix_end_poff is replaced by appendable_chunk_poffval t : t Irmin.Type.t