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

Re: bug: git-archive does not use the zip64 extension for archives with more than 16k entries

From
René Scharfe <l.s.r@web.de>
Date
Aug 12, 2015, 19:40 UTC
Message-ID
<55CBA140.7050301@web.de>
In-Reply-To
<20150811104056.16465.58131@localhost>
Am 11.08.2015 um 12:40 schrieb Johannes Schauer:
Show 6 quoted lines
> Hi,
>
> for repositories with more than 16k files and folders, git-archive will create
> zip files which store the wrong number of entries. That is, it stores the
> number of entries modulo 16k. This will break unpackers that do not include
> code to support this brokenness.

The limit is rather 65535 entries, isn't it? The entries field has two bytes, and they are used fully.

Which programs are affected? InfoZIP Zip 3.0 and 7-Zip 9.20 seem to handle an archive with more entries just fine. The built-in functionality of Windows 10 doesn't.

Besides, 64K entries should be enough for anybody. ;-)

Seriously, though: What kind of repository has that many files and uses the ZIP format to distribute snapshots? Just curious.

> Instead, git-archive should use the zip64 extension to handle more than 16k
> files and folders correctly.
That seems to be what InfoZIP does and Windows 10 handles it just fine. 
  If lower Windows versions and other popular extractors can unzip such 
archives as well then this might indeed be the way to go.

Thanks, René

Previous: Johannes SchauerNext: Johannes Schauer
Message 2 of 18 in “bug: git-archive does not use the zip64 extension for archives with more than 16k entries”
  1. Johannes SchauerAug 11, 2015
  2. René ScharfeAug 12, 2015
  3. Johannes SchauerAug 13, 2015
  4. 1/3 t5004: test ZIP archives with many entriesRené Scharfe, Aug 22, 2015
  5. Eric SunshineAug 23, 2015
  6. René ScharfeAug 23, 2015
  7. Eric Sunshine mail delivery failureRené Scharfe, Aug 23, 2015
  8. Johannes LöthbergAug 23, 2015
  9. Eric SunshineAug 23, 2015
  10. Eric SunshineAug 23, 2015
  11. Junio C HamanoAug 28, 2015
  12. Junio C HamanoAug 28, 2015
  13. Eric SunshineAug 28, 2015
  14. 2/3 archive-zip: use a local variable to store the creator versionRené Scharfe, Aug 22, 2015
  15. 3/3 archive-zip: support more than 65535 entriesRené Scharfe, Aug 22, 2015
  16. Duy NguyenAug 15, 2015
  17. Eric SunshineAug 23, 2015
  18. Eric SunshineAug 23, 2015

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.