git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: reftable [v7]: new ref storage format

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 16, 2017, 21:05 UTC
Message-ID
<xmqq60dnjka0.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAJo=hJsZcAM9sipdVr7TMD-FD2V2W6_pvMQ791EGCDsDkQ033w@mail.gmail.com>
Shawn Pearce <spearce@spearce.org> writes:
Show 19 quoted lines
> 7th iteration of the reftable storage format.
>
> You can read a rendered version of this here:
> https://googlers.googlesource.com/sop/jgit/+/reftable/Documentation/technical/reftable.md
>
> Changes from v6:
> - Blocks are variable sized, and alignment is optional.
> - ref index is required on variable sized multi-block files.
>
> - restart_count/offsets are again at the end of the block.
> - value_type = 0x3 is only for symbolic references.
> - "other" files cannot be stored in reftable.
>
> - object blocks are explicitly optional.
> - object blocks use position (offset in bytes), not block id.
> - removed complex log_chained format for log blocks
>
> - Layout uses log, ref file extensions
> - Described reader algorithm to obtain a snapshot

I read this version through pretending that I never read the previous iterations, and it still made sense to me, which is a good indication that the document is well self contained.

I think I agree with all the simplication from v6.

I found it a slightly odd that we do not insist that update_indices that appear in a single reftable file are consecutive, yet we require that min_update_index of a reftable file must be one greater than the max_update_index of a previous one. That is not a new issue in v7, though.

Thanks.
Previous: Shawn PearceNext: Michael Haggerty
Message 4 of 7 in “Re: reftable [v7]: new ref storage format”
  1. Shawn PearceAug 16, 2017
  2. Stefan BellerAug 16, 2017
  3. Shawn PearceAug 16, 2017
  4. Junio C HamanoAug 16, 2017
  5. Michael HaggertyAug 17, 2017
  6. Junio C HamanoAug 17, 2017
  7. Shawn PearceAug 18, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.