Subject: Re: [msysGit] Re: The different EOL behavior between libgit2-based software and official Git

From: Torsten Bögershausen <[email-masked]>
Date: Fri, 20 Jun 2014 12:33:16 +0200

> ​Wow!
> 
> P.S.
> libgit2 just has a PR that try to be identical with official git.
> See https://github.com/libgit2/libgit2/pull/2432
> 
> Yue Lin Ho 
> 

I am not sure how much problems Git/libgit2 have with files contains mixed LF-CRLF,
as I have the same problem with the LF.txt

The handling, according to my understandig, is:
When core.eol is CRLF (or native under Windows) and core.autocrlf is true, and a file
is checked out:
  If a file has CRLF in one line in the repo, nothing is changed.
  If a file has LF in one line in the repo, LF is converted into CRLF in the workspace.

But here at my systems this doesn't seem to work as expected either for LF.txt:

tb@mac:~/EOL_Test/TestAutoCrlf>  t=LF.txt  &&  rm -f $t &&  git -c core.eol=CRLF checkout $t  && od -c  $t
0000000    L   i   n   e       1  \r  \n   l   i   n   e       (   2   )
0000020   \r  \n   l   i   n   e       3   .  \r  \n   t   h   i   s    
0000040    i   s       l   i   n   e       4  \r  \n   l       i       n
0000060        e       N   o   .       5  \r  \n   L   i   n   e       N
0000100    u   m   b   e   r       6  \r  \n  \r  \n                    
==================
tb@Linux:~/EOL_Test/TestAutoCrlf$ t=LF.txt  &&  rm -f $t &&  git -c core.eol=CRLF checkout $t  && od -c  $t
0000000   L   i   n   e       1  \n   l   i   n   e       (   2   )  \n
0000020   l   i   n   e       3   .  \n   t   h   i   s       i   s    
0000040   l   i   n   e       4  \n   l       i       n       e       N
0000060   o   .       5  \n   L   i   n   e       N   u   m   b   e   r
0000100       6  \n  \n