Subject: Re: [PATCH v2 1/1] merge-file: let conflict markers match end-of-line style of the context

From: Torsten Bögershausen <[email-masked]>
Date: Sun, 24 Jan 2016 17:27:16 +0100

On 24.01.16 11:48, Johannes Schindelin wrote:
(I had the same reasoning about the CRLF in the working tree:
We don't need to look at core.autocrlf/attributes, so Ack from me)

> +test_expect_success 'conflict markers match existing line endings' '
> +	append_cr <nolf-orig.txt >crlf-orig.txt &&
> +	append_cr <nolf-diff1.txt >crlf-diff1.txt &&
> +	append_cr <nolf-diff2.txt >crlf-diff2.txt &&
> +	test_must_fail git -c core.eol=crlf merge-file -p \
> +		crlf-diff1.txt crlf-orig.txt crlf-diff2.txt >crlf.txt &&
> +	test $(tr "\015" Q <crlf.txt | grep "\\.txtQ$" | wc -l) = 3 &&
> +	test_must_fail git -c core.eol=crlf merge-file -p \
> +		nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >nolf.txt &&
> +	test $(tr "\015" Q <nolf.txt | grep "\\.txtQ$" | wc -l) = 0
> +'
> +

Minor remark:

Ramsay suggested a test that doesn't use grep or wc and looks like this:

test_expect_success 'conflict markers contain CRLF when core.eol=crlf' '                                                                                                                       
  test_must_fail git -c core.eol=crlf merge-file -p \                                                                                                                                          
    nolf-diff1.txt nolf-orig.txt nolf-diff2.txt >output.txt &&                                                                                                                                 
  tr "\015" Q <output.txt | sed -n "/^[<=>|].*Q$/p" >out.txt &&                                                                                                                                
  cat >expect.txt <<-\EOF &&                                                                                                                                                                   
  <<<<<<< nolf-diff1.txtQ                                                                                                                                                                      
  ||||||| nolf-orig.txtQ                                                                                                                                                                       
  =======Q                                                                                                                                                                                     
  >>>>>>> nolf-diff2.txtQ                                                                                                                                                                      
  EOF                                                                                                                                                                                          
  test_cmp expect.txt out.txt                                                                                                                                                                  
'