Am 23.02.2015 um 14:58 schrieb Ulrike Fischer:
I'm using git on windows 7.
$ git --version
git version 1.9.4.msysgit.0
Git's code for ZIP file creation hasn't changed since then.
Some days ago I uploaded a latex package to CTAN (www.ctan.org).
I created the zip-file with
git archive --format=zip --prefix=citeall/
--output=zip/citeall_2015-02-20.zip HEAD
The zip contained four text files and a pdf.
The CTAN maintainers informed me that all files in the zip are
flagged as binaries and this makes it difficult for them to process
them further (they want to correct line feeds of the text files:
http://mirror.ctan.org/tex-archive/help/ctan/CTAN-upload-addendum.html#crlf)
I wouldn't have expected that this ZIP file attribute is actually used
in the wild.
unzip -Z reports for my zip:
$ unzip -Z citeall_2015_02_20.zip
Archive: citeall_2015_02_20.zip
Zip file size: 105509 bytes, number of entries: 6
drwx--- 0.0 fat 0 bx stor 15-Feb-20 17:07 citeall/
-rw---- 0.0 fat 458 bx defN 15-Feb-20 17:07 citeall/README
-rw---- 0.0 fat 102244 bx defN 15-Feb-20 17:07
citeall/citeall.pdf
-rw---- 0.0 fat 3431 bx defN 15-Feb-20 17:07
citeall/citeall.sty
-rw---- 0.0 fat 3971 bx defN 15-Feb-20 17:07
citeall/citeall.tex
-rw---- 0.0 fat 557 bx defN 15-Feb-20 17:07
citeall/examples-citeall.bib
6 files, 110661 bytes uncompressed, 104669 bytes compressed: 5.4%
The problem are all the "bx" entries.
The "x" is due to the extra mtime header and unrelated to your issue.
"b" (binary) is set unconditionally to ensure that line endings are kept
intact by unpackers on all platforms.
"fat" is used as lowest common denominator for regular files and
directories; "unx" is used for symbolic links.
When I zip all the files with the standard windows zip-tool I get
this:
$ unzip -Z citeall-win.zip
Archive: citeall-win.zip
Zip file size: 105275 bytes, number of entries: 5
-rw---- 2.0 fat 102244 b- defN 15-Feb-20 17:07
citeall/citeall.pdf
-rw---- 2.0 fat 3431 t- defN 15-Feb-20 17:07
citeall/citeall.sty
-rw---- 2.0 fat 3971 t- defN 15-Feb-20 17:07
citeall/citeall.tex
-rw---- 2.0 fat 557 t- defN 15-Feb-20 17:07
citeall/examples-citeall.bib
-rw---- 2.0 fat 458 t- defN 15-Feb-20 17:07 citeall/README
5 files, 110661 bytes uncompressed, 104675 bytes compressed: 5.4%
Here the text files have a correct t flag.
I don't know if it the problem exists also with zips created with
git archive on non-windows OS.
Yes, git archive creates the same ZIP files everywhere.
Would it be possible to correct the zip-backend so that it flags
text files correctly? Or alternativly could one configure git
archive to use another zip programm?
We would have to detect the line ending format (DOS, Unix, Macintosh,
etc.) of each file, then set the attribute "t" (text) and the host
system. The detection would slow down archive creation a bit and the
resulting files would be different, of course, so this feature should
only be enabled by a new command line option. I'll take a look.
René
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html