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

Re: [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 30, 2012, 18:15 UTC
Message-ID
<7vr4v5f5n2.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1335761837-12482-2-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
Show 14 quoted lines
> Before this patch write_tar_entry() can:
>
>  - write global header
>    by write_global_extended_header() calling write_tar_entry with
>    with both sha1 and path == NULL
>
>  - write extended header for symlinks, by write_tar_entry() calling
>    itself with sha1 != NULL and path == NULL
>
>  - write a normal blob. In this case both sha1 and path are valid.
>
> After this patch, the first two call sites are modified to write the
> header without calling write_tar_entry(). The function is now for
> writing blobs only.
Nice.

I am kind of surprised how hacky the original code that switched on !sha1 and !path was, especially given that it came from René at ae64bbc (tar-tree: Introduce write_entry(), 2006-03-25) --- it even claims that these are "reasonable" magic values ;-).

Previous: Nguyễn Thái Ngọc DuyNext: René Scharfe
Message 3 of 23 in “Large file support for git-archive”
  1. 0/5 Large file support for git-archiveNguyễn Thái Ngọc Duy, Apr 30, 2012
  2. 1/5 archive-tar: turn write_tar_entry into blob-writing onlyNguyễn Thái Ngọc Duy, Apr 30, 2012
  3. Junio C HamanoApr 30, 2012
  4. René ScharfeApr 30, 2012
  5. 2/5 archive-tar: unindent write_tar_entry by one levelNguyễn Thái Ngọc Duy, Apr 30, 2012
  6. 3/5 archive: delegate blob reading to backendNguyễn Thái Ngọc Duy, Apr 30, 2012
  7. René ScharfeApr 30, 2012
  8. 4/5 archive-tar: stream large blobs to tar fileNguyễn Thái Ngọc Duy, Apr 30, 2012
  9. Junio C HamanoApr 30, 2012
  10. René ScharfeApr 30, 2012
  11. Junio C HamanoApr 30, 2012
  12. René ScharfeApr 30, 2012
  13. 5/5 archive-zip: stream large blobs into zip fileNguyễn Thái Ngọc Duy, Apr 30, 2012
  14. Junio C HamanoApr 30, 2012
  15. René ScharfeApr 30, 2012
  16. streaming: void pointer instead of char pointerRené Scharfe, Apr 30, 2012
  17. archive-zip: remove uncompressed_sizeRené Scharfe, Apr 30, 2012
  18. archive-zip: factor out helpers for writing sizes and CRCRené Scharfe, Apr 30, 2012
  19. archive-zip: streaming for stored filesRené Scharfe, Apr 30, 2012
  20. archive-zip: streaming for deflated filesRené Scharfe, Apr 30, 2012
  21. Junio C HamanoApr 30, 2012
  22. René ScharfeApr 30, 2012
  23. Nguyen Thai Ngoc DuyMay 1, 2012

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.