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

Re: Efficiently storing SHA-1 ↔ SHA-256 mappings in compatibility mode

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 14, 2025, 22:51 UTC
Message-ID
<xmqqh5y9wm8f.fsf@gitster.g>
In-Reply-To
<aJ5d3tvrm2S1ZTR9@fruit.crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 14 quoted lines
>> As there are some objects for which we need to carry dynamic
>> information, e.g. "we expect not to have this in our object store
>> and that is fine", which may be set for objects immediately behind
>> the shallow-clone boundary, may need to be cleared when the depth of
>> shallowness changes.  Would it make sense to store these auxiliary
>> pieces of information in separate place(s)?  I suspect that the
>> objects that need these extra bits of information form a small
>> subset of all objects that we need to have the conversion data, so a
>> separate table that is indexed into using the order in the main
>> table may not be a bad way to go.
>
> My plan is to just wire this up to `git gc`.  We'd know what entries are
> potentially disposable (such as shallows) and omit the unneeded entries
> when repacking.

I wasn't talking about when the information is (gathered|consumed), though. In response to the request for comments on file format, I was suggesting to have at least two separte files, one for static part, and the other for dynamic part, so that the former does not have to be rewritten all the time.

Previous: brian m. carlsonNext: Derrick Stolee
Message 4 of 10 in “Efficiently storing SHA-1 ↔ SHA-256 mappings in compatibility mode”
  1. brian m. carlsonAug 14, 2025
  2. Junio C HamanoAug 14, 2025
  3. brian m. carlsonAug 14, 2025
  4. Junio C HamanoAug 14, 2025
  5. Derrick StoleeAug 15, 2025
  6. Patrick SteinhardtSep 3, 2025
  7. Eric WongAug 27, 2025
  8. Junio C HamanoAug 28, 2025
  9. brian m. carlsonAug 28, 2025
  10. Eric WongAug 29, 2025

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.