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

Re: [PATCH 0/5] Large file support for git-archive

From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Date
Apr 30, 2012, 21:07 UTC
Message-ID
<4F9EFF2D.8080505@lsrfire.ath.cx>
In-Reply-To
<1335761837-12482-1-git-send-email-pclouds@gmail.com>
Am 30.04.2012 06:57, schrieb Nguyễn Thái Ngọc Duy:
Show 20 quoted lines
> This is a spin-off from the large file support series I posted some
> time ago [1]. Both tar and zip format now support streaming large
> blobs. Although zip will store uncompressed large blobs.
>
> [1] http://thread.gmane.org/gmane.comp.version-control.git/191605
>
> Nguyễn Thái Ngọc Duy (5):
>    archive-tar: turn write_tar_entry into blob-writing only
>    archive-tar: unindent write_tar_entry by one level
>    archive: delegate blob reading to backend
>    archive-tar: stream large blobs to tar file
>    archive-zip: stream large blobs into zip file
>
>   Documentation/git-archive.txt |    3 +
>   archive-tar.c                 |  184 ++++++++++++++++++++++++++++-------------
>   archive-zip.c                 |   56 ++++++++++++-
>   archive.c                     |   28 +++----
>   archive.h                     |   10 ++-
>   t/t1050-large.sh              |    8 ++
>   6 files changed, 209 insertions(+), 80 deletions(-)
I like the cleanups in the first two patches.

I'm neutral to positive on the third one; it certainly simplifies the interface to the backends with only little code duplication.

The ZIP format supports streaming natively (look for "Data descriptor" in http://www.pkware.com/documents/casestudies/APPNOTE.TXT). Incidentally, I had been working on supporting that, but without any presentable results. So far. I've adapted the pieces I had to your series now; will send shortly.

René
Previous: Junio C HamanoNext: Nguyen Thai Ngoc Duy
Message 22 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.