2009-02-27 15 views
11

¿Hay alguna manera de forzar a SVN a no distinguir entre mayúsculas y minúsculas? Tenemos un problema en el que un usuario se compromete desde un entorno Linux con archivos que dicen "file.ext" y "File.ext". Funciona bien El problema, sin embargo, es cuando un usuario en un MAC OSX o Windows intenta una actualización/pago. Los dos archivos se consideran iguales y la acción falla por error.¿Puede SVN manejar problemas de sensibilidad de mayúsculas y minúsculas?

¿Hay alguna manera de que SVN evite la confirmación de "File.ext" y "file.ext" en primer lugar?

This question es similar, pero se ve el mismo problema desde el lado de Windows, que no es el problema aquí.

+0

Me parece que tener dos archivos en el mismo directorio que difieren solo por caso puede causar confusión de todos modos. ¿Se les puede decir a los usuarios que no hagan eso? –

+0

+1 al forzar la subversión para ignorar mayúsculas y minúsculas; no debería diferenciar los archivos solo en el caso de todos modos. –

Respuesta

11

Puede probar un enlace precomprometido, como this one (no lo intenté yo mismo, sin embargo).

Supongo que ya se ha descartado que los usuarios estén atentos a esto. Trabajo en Linux todo el tiempo, pero generalmente considero los nombres de archivo que no distinguen entre mayúsculas y minúsculas, i. mi. a me, son lo mismo, sin importar lo que piense el sistema operativo.

+0

Ahh, gracias. Sí, estamos siendo cuidadosos, pero cualquier medida para evitar esto sería una ventaja segura. – ccook

+1

+1 para usar commit hooks – abe

0

Diría que estás mirando las cosas a la inversa. La mejor solución aquí es mantener sus archivos en una forma sensible a las mayúsculas y minúsculas. ¿Qué pasa si un usuario visita en Linux o Solaris, el proyecto no se podrá usar?

Además, tenga en cuenta algunos compiladores de lenguaje que dependen de la distinción entre mayúsculas y minúsculas, el compilador de Java se quejará de los nombres de los archivos, ya que estoy seguro de que otros idiomas sí lo harán.

Otro problema es la implementación, ¿qué ocurre si se implementa en un sistema * NIX? Entonces estás en problemas!

+1

El problema es simplemente que dos archivos que difieren en caso de que solo no funcione para los equipos Mac o Windows. Creo que se refiere más a la aplicación (F90)? Estoy de acuerdo en que los nombres deben ser referenciados por el caso apropiado. – ccook

0

Creo que el problema técnico realmente está en el lado de Windows de Mac &, es decir, que sus sistemas de archivos no distinguen entre mayúsculas y minúsculas. Al menos en Mac, puede volver a formatear el sistema de archivos como HFS + con sensibilidad a mayúsculas y minúsculas activada. No soy usuario de Windows, pero puede haber una opción similar en el sistema de archivos nativo de Windows (¿sigue siendo NTFS?). Si no controla los entornos del desarrollador lo suficiente como para obligarlos a formatear con un sistema de archivos con distinción entre mayúsculas y minúsculas, entonces creo que sus únicas opciones son un enlace precompromiso que verifica la duplicación (comparación entre mayúsculas y minúsculas, obviamente) nombres de archivos en el mismo directorio o para modificar su proyecto y no usar archivos con el mismo nombre y diferentes casos en el mismo directorio.

+0

He publicado una respuesta a otra versión más de esta pregunta que no puedo encontrar ahora que básicamente indique cómo compilar SVN en Windows para que los nombres sean realmente sensibles a mayúsculas y minúsculas. Desde que NT4 pasó las pruebas de conformidad POSIX, esto está aquí, es complicado de conseguir. – Joshua

+4

No estoy seguro de si realmente se trata de un problema técnico, creo que es una característica (y soy un usuario de Linux). Para los humanos, la misma palabra en mayúscula o minúscula tiene el mismo significado, y su sistema operativo debería entender eso. –

Cuestiones relacionadas