2011-07-25 17 views
5

Los archivos Matlab .m usan los finales de línea Unix LF incluso en Windows. Estoy buscando configurar el archivo de configuración de git para que los archivos .m sean no convertidos de nuevo a CRLF como lo serían otros archivos de texto normales (es decir, estoy usando LF como el estilo predeterminado dentro del repositorio, aunque es Windows)¿No está haciendo la conversión CRLF de git para archivos .m matlab?

¿Se puede hacer esto?

EDITAR: de Matlab 2008b manual. (Menores de edición y depuración M-Files)

finales de línea en archivos eliminados proporcionan con el software MATLAB para plataformas de Windows; Visualización de impactos en la aplicación de Bloc de notas

En versiones anteriores, los archivos de texto proporcionados con plataformas MATLAB para Windows incluían un retorno de carro y avance de línea al final de cada línea . A partir de R2007b, los archivos de texto que proporciona MATLAB no incluyen incluyen un retorno de carro y avance de línea al final de cada línea.

tipos de archivos afectados son: .asc .bat .c .cc .cdr .cpp .def .para gs.rights .h ini .m .mdl .pl readme .tlc .tmf .txt

no hay impacto si ve los archivos en MATLAB y otros editores de texto comunes, con la excepción conocida de la aplicación Microsoft Notepad .

Consideraciones de compatibilidad. Si utiliza la aplicación Bloc de notas en ve los archivos proporcionados con MATLAB, verá símbolos de retorno de carro y de avance de línea en lugar de terminaciones de línea. Esto hace que los archivos sean menos legibles en la aplicación Bloc de notas. Otros editores de texto pueden mostrar los símbolos en lugar de terminaciones de línea, pero de los editores de texto comunes probados, ninguno se ha encontrado que lo hacen.

Como alternativa a la aplicación Bloc de notas, utilice la aplicación Microsoft Word WordPad, que se proporciona con plataformas Windows, u otro editor de texto para ver los archivos.

+3

BTW ¿está seguro de esa primera afirmación? En mi máquina con Windows, MATLAB crea archivos con terminaciones de línea CRLF por defecto ... – Amro

+0

@Amro: en mi máquina está, pero voy a preguntar por ahí para ver si hay un ajuste 'oculto' de Matlab. –

+0

Extracto agregado del archivo de ayuda de Matlab sobre la normalización de LF en Windows. –

Respuesta

3

Establecer la configuración core.autocrlf false y core.eol a lf en Windows.

[core] 
    autocrlf = false 
    eol = lf 

También, echar un vistazo a gitattributes bajo Checking-out and checking-in

+1

entonces en gitattributes necesitaré '* .m eol = lf' ¿entonces? (igual que el ejemplo * .sh en la página man) –

+0

@Philip Oakley - Sí, puede tener '* .m eol = lf' en' .gitattributes' – manojlds

+0

: @manojlds: ¿No es 'autocrlf = true'? para los archivos de texto de Windows generales que se normalizan a LF en el repositorio, y luego se comprueba como CRLF en el directorio de trabajo? [El archivo .gitattributes detecta los archivos de matlab como diferentes al salir] –

0

Cambio autocrlf a falso. establezca core.whitespace en cr-at-eol (Esto asegurará que no se resalte^M como espacios en blanco problemáticos en diffs y parches). Use vim u otro editor para asegurarse de tener lfs en sus archivos .m.

Cuestiones relacionadas