24 votos

¿Cómo puedo convertir todos los finales de línea para CRLF, LF, CR durante SVN operaciones

Así, todos ustedes están dispuestos a hacer un gran SVN Commit y las bombas porque tiene inconsistente finales de línea en algunos de sus archivos. Parte de la diversión es, usted está buscando en 1.000 s de archivos de varias decenas de carpetas de diferentes profundidades.

¿Qué puede hacer?

32voto

Cebjyre Puntos 3946

No creo que la pre-confirmación de gancho en realidad se puede cambiar los datos que se están comprometidos - se puede desactivar la confirmación, pero creo que no se puede hacer la conversión para usted.

Suena como que usted desea que la propiedad 'svn:eol-style' a 'nativo' - esto se convierte automáticamente los saltos de línea a lo que es utilizado en su plataforma (uso 'CRLF', 'CR' o 'LF" para obtener esos independientemente de lo que el OS quiere).

Usted puede utilizar auto-propiedades , de modo que en el futuro todos los archivos que cree tendrá este conjunto de propiedades (auto accesorios son manejados lado del cliente, de manera que tendría esta configurado para cada usuario).

6voto

David W. Puntos 49436

Primero es limpiar todo. Estás en Windows o Unix/Linux/Mac?

Si usted está en Unix/Linux/Mac, usted puede intentar algo como esto:

$ find . -type f -name "*.java" -exec dos2unix {}\;

Si usted tiene dos2unix en su caja. No está en mi Mac o cualquiera de las seis máquinas Linux tenemos. Parece que no instalar este paquete en particular. Afortunadamente, es bastante fácil de encontrar.

Tenga cuidado con él porque no quiere a munge archivos binarios.

Una vez que haya limpiado todo, usted debe poner el svn:eol-style de propiedad en sus archivos. Ajuste nativo va a descargar el archivo con la correcta de final de línea para su equipo, pero la tienda en línea Unix final del formato. Las otras tres opciones son "LF" para Unix, "CRLF" para Windows, y "CR" para pre Mac OS X de Mac. La mayoría de la gente a encontrar "nativo" de la mejor. El único problema con los Nativos es que no va a proteger un archivo con una mezcla de los finales de línea, mientras que "LF" y "CRLF".

Una vez hecho eso, usted debe obtener un gancho pre-confirmación que le permitirá cumplir los finales de línea en los archivos particulares. A continuación, enseñar a sus desarrolladores a utilizar autoproperties. El gancho pre-confirmación evitará que se compromete a menos que la propiedad se coloca en el archivo de Un desarrollador obtiene su compromiso rechazado una vez o dos veces, y que van a configurar auto de propiedades por su propia cuenta.

2voto

OJ. Puntos 16939

Agregar un gancho pre-confirmación que analiza el contenido del archivo y realiza la fotográficos de CRLF/LF/CR/etc para que usted antes de que sea escrito a SVN.

2voto

Yuval F Puntos 15248

Usted puede considerar el uso de un comando como Linux, dos2unix para la conversión. Ser un comando en Linux, es fácil de usar en modo de lote con scripts, etc. No sé si hay un equivalente para otros sistemas operativos.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X