Cómo tener GIT store CRLF en el índice

Uso git-svn en el trabajo y la gente se queja constantemente de que estoy cometiendo LF en lugar de CRLF . (Somos principalmente una tienda de Windows).

Por lo que puedo decir, cuando core.autocrlf es true la copy de trabajo es CRLF , cuando es false , es LF , y cuando input , permanece intacta. Me gusta autocrlf = true como concepto, pero me gustaría que fuera CRLF en el índice, ya que eso es lo que se compromete con SVN.

¿Hay alguna manera de establecer qué línea utiliza el índice?

He visto core.eol , pero esto también parece establecer solo lo que usa la copy de trabajo, no el índice.

Deberá agregar un file llamado .gitattributes a la raíz de su proyecto. Esto obligará a todos a cometer el mismo final de línea. En su caso, como quiera forzar crlf , agregará esta línea en .gitattributes :

 * text eol=crlf 

Luego, también puede normalizar todos los files en su repository una vez, y no volver a preocuparse por eso: tratar de arreglar los finales de línea con git filter-branch, pero sin tener suerte

También puede consultar la guía de github en el final de línea: https://help.github.com/articles/dealing-with-line-endings

Resulta que git-svn usa la propiedad svn:eol-style de SVN para decidir cómo almacenar los finales de línea. Si ingresa en un checkout SVN puro y agrega svn:eol-style configurado a native , Git usará CRLF para Windows y LF para Linux / OSX.

También tengo estas configuraciones:

 $ git config core.autocrlf false $ git config core.safecrlf true 

No tengo nada en mi file .gitattributes .