archive-zip: write extended timestamp
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Mon, 24 Sep 2012 15:56:23 +0000 (17:56 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Sep 2012 17:22:03 +0000 (10:22 -0700)
commit227bf59806dc408d60f8f80a14d8dfe71b92c6d2
tree27076879d55aac10d861cc140636d7aa638dbaca
parent88182bab001a9b9e9b0acd4b888693fa7c28ff4c
archive-zip: write extended timestamp

File modification times in ZIP files are encoded in DOS format: local
time with a granularity of two seconds.  Add an extra field to all
archive entries to also record the mtime in Unix' fashion, as UTC with
a granularity of one second.

This has the desirable side-effect of convincing Info-ZIP unzip 6.00
to respect general purpose flag 11, which is used to indicate that a
file name is encoded in UTF-8.  Any extra field would do, actually,
but the extended timestamp is a reasonably small one (22 bytes per
entry).  Archives created by Info-ZIP zip 3.0 contain it, too (but
with ctime and atime as well).

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive-zip.c