svn:eol-style=CRLFは改行コードをCRLFに変換してチェックインする

http://svnbook.red-bean.com/en/1.7/svn.advanced.props.file-portability.html#svn.advanced.props.special.eol-style

native
This causes the file to contain the EOL markers that are native to the operating system on which Subversion was run. In other words, if a user on a Windows machine checks out a working copy that contains a file with an svn:eol-style property set to native, that file will contain CRLF EOL markers. A Unix user checking out a working copy that contains the same file will see LF EOL markers in his copy of the file.

Note that Subversion will actually store the file in the repository using normalized LF EOL markers regardless of the operating system. This is basically transparent to the user, though.
CRLF
This causes the file to contain CRLF sequences for EOL markers, regardless of the operating system in use.
LF
This causes the file to contain LF characters for EOL markers, regardless of the operating system in use.

svn:eol-style=nativeが「LFに正規化してリポジトリに格納する」と明言しているのに対し、svn:eol-style=CRLFは「改行コードとしてCRLFが使われるようにする」。実際にどのように実現するかは明示されていないが、挙動を見る限りでは「CRLFに変換してリポジトリに格納している」ようである。

たとえば、改行コードCRLFのテキストファイル3つそれぞれにsvn:eol-style=「native」「LF」「CRLF」を設定し、TortoiseSVN 1.7.11でリポジトリに追加する。それをTortoiseSVNや、TortoiseGit 1.8.2.0 git version 1.7.11.msysgit.1でチェックアウトしたところ、改行コードは以下のようになっていた。

svn:eol-styleTSVNでチェックアウトTGitでチェックアウト
core.autocrlf=falsecore.autocrlf=true
nativeCRLFLFCRLF
LFLFLFCRLF
CRLFCRLFCRLFCRLF

TGitの方は、git-svnsvn:eol-styleを解釈しないため、改行コードはGitの設定のみに従って展開されている。

これだけ見ると、SVNとGitの併用で一番安定感のある改行コードはCRLFのように見える。しかしGitには「CRLFでチェックインさせることを強制する属性がない」ため、Git側では個人の設定次第で「リポジトリにはLFで格納することができる」ことになる。