2010-10-04 12 views
8

Un codificador compañero utiliza una computadora con Windows que está realizando retornos de carro en todas partes en nuestra fuente.Git: convertir retorno de carro r a la nueva línea n con git hook?

¿Hay alguna manera de escribir un gancho git que convierta todos \r\n en \n?

Nota no he utilizado ganchos git antes, por lo que un poco de mano de retención adicional podría recorrer un largo camino :)

Respuesta

10

Lo más sencillo es set core.autocrlf to false en el lado de Windows.
(de esa forma, Git no hará ninguna conversión y mantendrá el eol intacto).

En el lado de Unix, un core.autocrlf establecido en verdadero podría ayudar a restaurar el eol adecuado.
Como mathepic menciona en los comentarios, y como I described in this SO answer, ya Git1.7.2, se pueden utilizar core.eol (a los nativos), manteniendo core.autocrlf a falso.

De lo contrario, puede usar un text driver or a filter driver with gitattributes files.
No se necesitan ganchos.

+0

VonC, tal vez quiero 'core.autocrlf' establecer en verdadero? Quiero ** eliminar los retornos de carro. –

+0

@macek: 'autocrlf' podría hacer el trabajo en el lado de Unix, pero lo recomendaría a falso en el lado de Windows, para no introducir todos esos crlf en primer lugar. He editado mi respuesta para reflejar esas elecciones y configuraciones. – VonC

+0

'core.eol' es la nueva forma de hacer esto, creo. – alternative

1

Si están usando TortoiseGit, hay una opción para hacer esto, en Git-> Config-> Auto CRLF convertir.

+0

Lo sentimos, no usamos TortoiseGit –

Cuestiones relacionadas