From: Eyvind Bernhardsen Date: Fri, 25 Jun 2010 08:58:54 GMT Subject: Re: [PATCH v3 3/3] Don't expand CRLFs when normalizing text during merge Message-ID: In-Reply-To: <4C246622.9090707@viscovery.net> On 25. juni 2010, at 10.17, Johannes Sixt wrote: > Am 6/25/2010 9:58, schrieb Eyvind Bernhardsen: >> Sorry, I didn't explain that very well. I noticed that normalize_buffer() >> does more work when core.eol=crlf than it does when core.eol=lf: >> _to_working_tree() converts LF to CRLF, and then _to_git() reverses that >> conversion. This patch makes normalization act the same way when >> core.eol=crlf as it does when core.eol=lf. > > Got it: I missed that you are omitting the conversion only on the "way > out" but not on the "way back". > > Looking more closely at your patch, I think that you should make this > optimization only if you can prove that the subsequent apply_filter() is a > no-op. Otherwise, you may break a smudge filter that expects CRLFs. Such a smudge filter would break when core.eol=lf, but you're suggesting that someone might be using a picky smudge filter and has set core.eol=crlf to make sure it gets the line endings it expects? That's a very good catch. I'll add a test so that the optimization is only done if filter is NULL. -- Eyvind Bernhardsen