Re: [PATCH v2 4/4] upload-archive: use start_command instead of fork
- From
Jeff King <peff@peff.net>
- Date
- Aug 7, 2011, 21:06 UTC
- Message-ID
- <20110807210633.GA2336@sigill.intra.peff.net>
- In-Reply-To
- <4E3EEF3B.80908@kdbg.org>
On Sun, Aug 07, 2011 at 10:02:03PM +0200, Johannes Sixt wrote:
Show 27 quoted lines
> Am 06.08.2011 11:40, schrieb René Scharfe:
> > So here's an ugly patch to implement an internal passthrough filter to
> > avoid newline conversions. It makes the tar filter command (gzip etc.)
> > write to a pipe instead of directly to a file.
>
> *If* we are working around the CRLF conversion issue in git itself,
> wouldn't it be much simpler to just:
>
> diff --git a/archive-tar.c b/archive-tar.c
> index 20af005..da3d98a 100644
> --- a/archive-tar.c
> +++ b/archive-tar.c
> @@ -364,9 +364,9 @@ void init_tar_archiver(void)
> int i;
> register_archiver(&tar_archiver);
>
> - tar_filter_config("tar.tgz.command", "gzip -cn", NULL);
> + tar_filter_config("tar.tgz.command", "gzip -cn | cat", NULL);
> tar_filter_config("tar.tgz.remote", "true", NULL);
> - tar_filter_config("tar.tar.gz.command", "gzip -cn", NULL);
> + tar_filter_config("tar.tar.gz.command", "gzip -cn | cat", NULL);
> tar_filter_config("tar.tar.gz.remote", "true", NULL);
> git_config(git_tar_config, NULL);
> for (i = 0; i < nr_tar_filters; i++) {
>
> (provided that 'cat' magically does not suffer from the same problem,
> and I do think that it does not.)I like that much better, but assumed cat was broken. It might be better still to have a GZIP_FILTER variable in the Makefile. That would let msysgit do this, but would also let people with a funny path to gzip define it at build time (they could also just reconfigure it, of course, but it is nice to work out of the box on odd platforms).
> Anyway, I think it would be better to address the problem on the msysgit > side. Perhaps by providing a gzip of a different vintage (e.g. a > self-compiled one) that does not suffer from the CRLF conversion issue.
Yeah, that would make me happy, too. :)
-Peff