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

Re: [PATCH v3] Prevent megablobs from gunking up git packs

From
Nicolas Pitre <nico@cam.org>
Date
May 27, 2007, 03:15 UTC
Message-ID
<alpine.LFD.0.99.0705262304200.3366@xanadu.home>
In-Reply-To
<465887AB.1010001@gmail.com>
On Sat, 26 May 2007, Dana How wrote:
Show 12 quoted lines
> 
> Extremely large blobs distort general-purpose git packfiles.
> These megablobs can be either stored in separate "kept" packfiles,
> or left as loose objects.  Here we add some features to help
> either approach.
> 
> This patch implements the following:
> 1. git pack-objects accepts --max-blob-size=N,  with the effect that
>    only loose blobs less than N KB are written to the packfiles(s).
>    If an already packed blob violates this limit (perhaps these are
>    fast-import packs or max-blob-size was reduced),  it _is_ passed
>    through if from a local pack and no loose copy exists.
I'm still not convainced by this feature.  Is it really necessary?

Wouldn't it be better if the --max-blob-size=N was instead a --trailing-blob-size=N to specify which blobs are considered "naughty" per our previous discussion? This way there is no incoherency with already packed blobs larger than the treshold that you have to pass through.

This, combined with the option to disable deltification of large blobs (both options can be specified with the same size), and possibly the pack size limit, would solve your large blob issue, shouldn't it?

Nicolas
Previous: Dana HowNext: Dana How
Message 4 of 6 in “Prevent megablobs from gunking up git packs”
  1. Prevent megablobs from gunking up git packsDana How, May 26, 2007
  2. Junio C HamanoMay 26, 2007
  3. Dana HowMay 26, 2007
  4. Nicolas PitreMay 27, 2007
  5. Dana HowMay 27, 2007
  6. Nicolas PitreMay 27, 2007

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.