git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 16:51 UTC

[NOTES 05/07] What can we do next with pluggable ODB?

From
Taylor Blau <ttaylorr@openai.com>
Date
Oct 6, 2026, 18:06 UTC
Message-ID
<summit-2026.94e33e9ddf234334.05@ttaylorr.com>
In-Reply-To
<summit-2026.94e33e9ddf234334.00@ttaylorr.com>
Topic: What can we do next with pluggable ODB?
* Emily: We saw this working in Patrick's talk. What do we want to do
  with it next?
* Patrick: Most things work, but we are not all the way there yet;
  commit-graph and MIDX are examples. The plan is to add a repository
  extension in 2.57.
* Peff: From the Mercurial talk, you can convince Git to make good
  deltas, but doing so has a cost. I do not think the ODB API is at a
  level where deltas can be created on the fly.
* Patrick: I think we can do that. They have information we do not have.
  Renames are tricky.
* Peff: The ODB does not know anything beyond the content. Could we give
  it more information?
* Patrick: We may want to evolve this based on the representation. We
  could pass a `struct commit *` into the ODB API instead of just
  content.
* Peff: What we have now is a reasonable stopgap.
* Patrick: Content-defined chunking is another possibility.
* Taylor: Would that be at the object layer, or a property of a
  particular ODB store implementation?
* Patrick: I would like to do it natively, but that seems like a large
  change.
* brian: It could be part of a new pack/index format. I am very much in
  favor of content-defined chunking.
* Peff: There is a logical object model. Would this be a new object
  type, where a chunked object and a blob have different hashes, or
  something below that?
* Patrick: We could start at the storage layer and eventually move it to
  the object layer.
* Taylor: Perhaps, but perhaps not. This may be easier than we are
  thinking.
* Patrick: Moving the ecosystem may be difficult.
* brian: We could have a compatibility fallback.
* Peff: Then we would have two equivalent representations of an object
  which do not hash to the same thing.
* brian: We could introduce a pack-only object type.
* Peff: Which OID would I refer to?
* brian: The blob's OID.
* Taylor: That is analogous to REF_DELTA and OFS_DELTA: multiple
  representations of the same thing.
* brian: We would need a format extension, because we are out of bits.
* Patrick: Would we still want to put it in a pack?
* brian: Yes.
* Patrick: Start with the storage layer, then see where it goes.
* Patrick: Would this only be for blobs?
* Taylor: Is "chunked" a refinement of a blob, or an attribute
  independent of object type?
* brian: Trees are not currently binary-searchable. It would be nice to
  fix that too.
* Patrick: Perhaps reftable could provide inspiration there.
* Emily: After Patrick's talk, my skip-level manager asked whether we
  could build a commit cloud with Git. What else could we do that is
  totally wild?
Previous: Taylor BlauNext: Taylor Blau
Message 6 of 9 in “Notes from the Git Contributor's Summit, 2026”
  1. Taylor BlauOct 6, 2026
  2. 01/07 Security mailing list and security processTaylor Blau, Oct 6, 2026
  3. 02/07 Git 3.0Taylor Blau, Oct 6, 2026
  4. 03/07 DocumentationTaylor Blau, Oct 6, 2026
  5. 04/07 Outreachy sponsorshipTaylor Blau, Oct 6, 2026
  6. 05/07 What can we do next with pluggable ODB?Taylor Blau, Oct 6, 2026
  7. 06/07 AI contribution policyTaylor Blau, Oct 6, 2026
  8. 07/07 Protocol v2 for pushesTaylor Blau, Oct 6, 2026
  9. Todd ZullingerOct 7, 2026

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.