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

Re: [RFC PATCH] multi-pack-index: allow operating without pack files

From
Taylor Blau <me@ttaylorr.com>
Date
Aug 23, 2021, 04:05 UTC
Message-ID
<YSMenndGYr14okwv@nand.local>
In-Reply-To
<edb9c412-70c8-4fc6-04ab-417eca05ee15@gmail.com>
On Sun, Aug 22, 2021 at 08:34:43PM -0400, Derrick Stolee wrote:
Show 13 quoted lines
> On 8/20/2021 3:55 PM, Johannes Berg wrote:
> > Technically, multi-pack-index doesn't need pack files to exist,
> > but add_packed_git() today checks whether it exists or not.
>
> Having a multi-pack-index is supposed to indicate that we have
> these objects in the objects/pack directory within the specified
> pack-files.
>
> I understand your goal to relax a condition of the multi-pack-index
> file, but it's triggered by a flag during write and that choice
> isn't persisted into the file. There is no way for a later Git
> process to understand that the multi-pack-index doesn't actually
> guarantee object existence.

We're going to run into problems much earlier than that, though: the MIDX needs to load information about objects from packs in order to break ties when multiple copies of the same object exist in multiple packs (according to that pack's mtime).

So I'm not sure how we would even write a MIDX without physical packs on disk that we can open and stat, let along how we would teach Git to handle a situation where packs that did exist when writing a MIDX went away when we tried to read from the same MIDX later on.

Thanks, Taylor

Previous: Johannes BergNext: Johannes Berg
Message 5 of 7 in “multi-pack-index: allow operating without pack files”
  1. multi-pack-index: allow operating without pack filesJohannes Berg, Aug 20, 2021
  2. Derrick StoleeAug 23, 2021
  3. Martin FickAug 23, 2021
  4. Johannes BergAug 23, 2021
  5. Taylor BlauAug 23, 2021
  6. Johannes BergAug 23, 2021
  7. Johannes BergAug 23, 2021

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.