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

Re: [PATCH WIP 0/4] Special code path for large blobs

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Jun 2, 2009, 04:46 UTC
Message-ID
<fcaeb9bf0906012146t7eab8dafm2b2b58aa96fb6220@mail.gmail.com>
In-Reply-To
<alpine.LFD.2.00.0905281349320.3906@xanadu.home>
2009/5/29 Nicolas Pitre <nico@cam.org>:
Show 5 quoted lines
> However, like I said previously, I'd encapsulate large blobs in a pack
> right away instead of storing them as loose objects.  The reason is that
> you can effortlessly repack/fetch/push them afterwards by simply
> triggering the pack data reuse code path for them.  Extracting large and
> undeltified blobs from a pack is just as easy as from a loose object.
Makes sense. And the code looks nice too.
> To accomplish that, you only need to copy write_pack_file() from
> builtin-pack-objects.c and strip it to the bone with only one object to
> write.

write_pack_file() is too scary to me, I ripped from fast-import.c instead. BTW, how does git handle hundreds of single object packs? I don't know if prepare_packed_git scales in such cases.

-- 
Duy
Previous: Nicolas PitreNext: Shawn O. Pearce
Message 7 of 9 in “Special code path for large blobs”
  1. 0/4 Special code path for large blobsNguyễn Thái Ngọc Duy, May 28, 2009
  2. 1/4 convert.c: refactor in order to skip conversion early without looking into file contentNguyễn Thái Ngọc Duy, May 28, 2009
  3. 2/4 sha1_file.c: add streaming interface for reading blobsNguyễn Thái Ngọc Duy, May 28, 2009
  4. 3/4 write_entry: use streaming interface for checkout large filesNguyễn Thái Ngọc Duy, May 28, 2009
  5. 4/4 index_fd: support indexing large filesNguyễn Thái Ngọc Duy, May 28, 2009
  6. Nicolas PitreMay 28, 2009
  7. Nguyen Thai Ngoc DuyJun 2, 2009
  8. Shawn O. PearceJun 2, 2009
  9. Nicolas PitreJun 2, 2009

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.