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

Re: [PATCH] fast-import: Stream very large blobs directly to pack

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 29, 2010, 05:29 UTC
Message-ID
<7vockdjx6w.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20100129012350.GD20488@spearce.org>
"Shawn O. Pearce" <spearce@spearce.org> writes:
> +static void stream_blob(
> +	uintmax_t len,
> +	unsigned char *sha1out,
> +	uintmax_t mark)
A funny way to indent and line wrap...
Show 6 quoted lines
> +{
> + ...
> +	/* Determine if we should auto-checkpoint. */
> +	if ((pack_size + 60 + len) > max_packsize
> +		|| (pack_size + 60 + len) < pack_size)
> +		cycle_packfile();
What's "60" in this math?

If the data is not compressible, we could even grow and the end result might be more than (pack_size + len), busting max_packsize. As we are streaming out, we cannot say "oops, let me try again after truncating and closing the current file and then opening a new file", and instead may have to copy the data from the current one to a new one, and truncate the current one. Is this something worth worrying about?

Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 4 of 27 in “fast-import: Stream very large blobs directly to pack”
  1. fast-import: Stream very large blobs directly to packShawn O. Pearce, Jan 29, 2010
  2. Nicolas PitreJan 29, 2010
  3. Shawn O. PearceJan 29, 2010
  4. Junio C HamanoJan 29, 2010
  5. Shawn O. PearceJan 29, 2010
  6. fast-import: Stream very large blobs directly to packShawn O. Pearce, Jan 29, 2010
  7. Jakub NarebskiJan 29, 2010
  8. Shawn O. PearceJan 29, 2010
  9. A Large Angry SCMJan 29, 2010
  10. Junio C HamanoJan 30, 2010
  11. Sverre RabbelierJan 29, 2010
  12. Shawn O. PearceJan 29, 2010
  13. Sverre RabbelierJan 29, 2010
  14. Shawn O. PearceJan 29, 2010
  15. Junio C HamanoJan 30, 2010
  16. Junio C HamanoJan 30, 2010
  17. Junio C HamanoJan 30, 2010
  18. Shawn O. PearceFeb 1, 2010
  19. Junio C HamanoFeb 1, 2010
  20. Junio C HamanoFeb 4, 2010
  21. Shawn O. PearceFeb 4, 2010
  22. Junio C HamanoFeb 4, 2010
  23. Junio C HamanoFeb 4, 2010
  24. Shawn O. PearceFeb 4, 2010
  25. Nicolas PitreFeb 4, 2010
  26. fast-import: Document the core.bigFileThreshold configuration settingShawn O. Pearce, Feb 1, 2010
  27. Shawn O. PearceFeb 1, 2010

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.