¿Están bien las líneas CRLF en un proyecto de Rails implementado en Linux?

Tengo un repository de Git (originalmente CVS, luego SVN, ahora Git) que contiene un proyecto de Rails que se ha implementado en Linux desde hace un time. Todo parece funcionar bien.

Ahora que me he convertido a git, veo que muchos de mis files en el repository contienen terminaciones de línea CRLF . Me encantaría que todo sea coherente ( LF ), pero no a expensas de perder el historial de edición de cada file que tenga terminaciones de línea CRLF .

¿Puedes pensar en alguna razón por la que no puedo dejar los files como están? Me parece recordar que hay un problema con los scripts de shell o los files cron o algo que no respondió muy bien a CRLF .

Además, sé todo sobre las opciones de Git core.autocrlf y core.safecrlf , pero ¿hay alguna forma de que convierta todos los files de text de CRLF a LF en el process de pago (para el lado de Linux) … es decir, una opción core.autolf ¿o algo similar?

Si está bien que reescriba el historial de su repository (consulte los problemas con el historial de reescritura ), puede usar git filter-branch para convertir CRLF a LF:

 git filter-branch --tree-filter 'find . -path './.git' -prune -o -type f -exec dos2unix \{} \;' HEAD 

Tenga en count que si tiene files binarys en su repository, deberá refinar el command find para excluirlos.

Un comentario a la respuesta de davitenio y el comentario de Daniel Beardsley; Creo que podrías usar este pequeño progtwig como un envoltorio alnetworkingedor de dos2unix:

 #!/bin/sh for f in $@; do if [ $(file -b -n -i -m /dev/null $f | grep -c "text") -gt 0 ]; then dos2unix $f fi done 

aunque es probable que aún haya algún caso en la esquina que fracase.