Subject: Re: zip files created with git archive flags text files as binaries

From: René Scharfe <[email-masked]>
Date: Wed, 04 Mar 2015 22:13:17 +0100

Am 23.02.2015 um 20:30 schrieb René Scharfe:
> Am 23.02.2015 um 14:58 schrieb Ulrike Fischer:
>> 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)

By the way, a workaround for CTAN could be to extract the files using 
unzip and zip them again using Info-ZIP zip (one of the "good zip 
programs" mentioned on that website).  The result will be a ZIP file 
with text files flagged appropriately.  Just saying.

>> 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.

Actually its easier than that.  unzip -a (with end-of-line conversion) 
doesn't care for the actual format, it simply converts all occurrences 
of CR, CRLF and LF to the appropriate newline chars for the platform it 
is running on if the text flag is set.  Files with mixed line endings 
are normalized, i.e. they have a consistent end-of-line style afterward.

I'll send a first patch shortly.

René