From: René Scharfe Date: Mon, 01 Aug 2011 21:52:43 GMT Subject: Re: [PATCH v2 4/4] upload-archive: use start_command instead of fork Message-ID: <4E37202B.80208@lsrfire.ath.cx> In-Reply-To: <4E3718B4.6090803@kdbg.org> Am 01.08.2011 23:20, schrieb Johannes Sixt: > Am 01.08.2011 22:48, schrieb René Scharfe: >> So git archive gives the right results when writing to a pipe, but >> always the same wrong result when writing directly to a file. > > This could indeed be a CRLF issue. archive-tar.c runs gzip to let it > write to the original fd 1 (stdout). gzip is an MSYS program, and MSYS > is "clever" and sets up the channel in text mode (CRLF conversion) if it > is a regular file, but in binary mode if it is a pipe. > > Without the gzip filter, git-archive writes to stdout itself. Since we > have set up all our channels in binary mode, we do not suffer from the > same problem for plain tar format. > > So, I don't think we can do a lot about it, short of patching MSYS again... Or we could pipe the output through us, i.e. attach a builtin version of cat at the output end of the called command. Only on Windows, of course. Better ugly and limping then wrong, right? René