git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Fixed Cygwin CR-munging problem in mailsplit

From
Junio C Hamano <junkio@cox.net>
Date
May 27, 2006, 18:21 UTC
Message-ID
<7vfyivfhw4.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<44789309.1030002@Intel.com>
Salikh Zakirov <Salikh.Zakirov@Intel.com> writes:
Show 22 quoted lines
> Do not open mailbox file as fopen(..., "rt")
> as this strips CR characters from the diff,
> thus breaking the patch context for changes 
> in CRLF files.
>
> Signed-off-by: Salikh Zakirov <Salikh.Zakirov@Intel.com>
>
> ---
> fd405a0843f3efd474bc7897b06d813d6498fbf4
> diff --git mailsplit.c mailsplit.c
> index c529e2d..70a569c 100644
> --- mailsplit.c
> +++ mailsplit.c
> @@ -162,7 +162,7 @@ int main(int argc, const char **argv)
>  
>  	while (*argp) {
>  		const char *file = *argp++;
> -		FILE *f = !strcmp(file, "-") ? stdin : fopen(file, "rt");
> +		FILE *f = !strcmp(file, "-") ? stdin : fopen(file, "r");
>  		int file_done = 0;
>  
>  		if ( !f )

I personally think this is a right change. Provided if MTAs on the path between patch originator and you are not broken and your MUA saved the message with CR/LF distinction in the contents intact, this should do more right thing.

I see broken patches every once in a while, but when they are mangled by the mailpath, CRLF is the least of the problem; they have other whitespace breakage that makes them unapplicable anyway.

Having said that, however, that historically used to be a big IF with capital letters.

I have a feeling that Linus did this on purpose. For the projects we originally cared about, a patch to introduce CRLF in the tracked content was a broken patch 100% of the time (not 99%), and most likely caused by a breakage somewhere on the mailpath. At least in the original git context, protecting UNIX/POSIX people from broken MTA/MUA counted far more than catering to people who deals with DOSsy contents.

So I am slightly in favor of the change, but just barely.
Previous: Salikh ZakirovNext: Junio C Hamano
Message 4 of 5 in “git-apply can't apply patches to CRLF-files”
  1. Salikh ZakirovMay 26, 2006
  2. Junio C HamanoMay 26, 2006
  3. Fixed Cygwin CR-munging problem in mailsplitSalikh Zakirov, May 27, 2006
  4. Junio C HamanoMay 27, 2006
  5. Junio C HamanoMay 27, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.