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

Re: Achieving efficient storage of weirdly structured repos

From
Nicolas Pitre <nico@cam.org>
Date
Apr 7, 2008, 00:13 UTC
Message-ID
<alpine.LFD.1.00.0804062000240.2947@xanadu.home>
In-Reply-To
<20080406161003.GA24358@coredump.intra.peff.net>
On Sun, 6 Apr 2008, Jeff King wrote:
Show 10 quoted lines
> My thought was something like:
> 
>   - add a new object type, multiblob; a multiblob contains zero or more
>     "child" sha1s, each of which is another multiblob or a blob. The
>     data in the multiblob is an in-order concatenation of its children.
> 
>   - you would create multiblobs with a "smart" git-add that understands
>     the filetype and splits the file accordingly (in my case, probably a
>     chunk of headers and EXIF data, and then a chunk with the image
>     data).

Well, in your example, the large image part should already be common to many objects due to deltas if they're really the same: different objects will only have different EXIF data plus a delta reference to the same base image object. So in a way the split is already there. Needs only that some applications exploit this information at runtime.

Nicolas
Previous: Jeff KingNext: Jeff King
Message 12 of 14 in “Achieving efficient storage of weirdly structured repos”
  1. Roman ShaposhnikApr 3, 2008
  2. Linus TorvaldsApr 3, 2008
  3. Jakub NarebskiApr 4, 2008
  4. Nicolas PitreApr 4, 2008
  5. Pieter de BieApr 4, 2008
  6. Shawn O. PearceApr 5, 2008
  7. Roman ShaposhnikApr 4, 2008
  8. Linus TorvaldsApr 4, 2008
  9. Roman ShaposhnikApr 6, 2008
  10. Linus TorvaldsApr 6, 2008
  11. Jeff KingApr 6, 2008
  12. Nicolas PitreApr 7, 2008
  13. Jeff KingApr 7, 2008
  14. Nicolas PitreApr 7, 2008

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.