Pregunta

Encontramos un problema con el uso de Subversion en Windows.Un desarrollador confirmó un archivo foo.Data.sql y luego otro desarrollador confirmó un archivo llamado foo.data.sql.Naturalmente, esto causó un problema en los clientes de Windows (todos los clientes son Windows en nuestros entornos) porque los archivos distinguen entre mayúsculas y minúsculas en Subversion pero no en Windows.

Logramos resolver este problema eliminando uno de los archivos directamente en el repositorio, pero todavía tengo dos preguntas:

  1. ¿Cómo es posible que un desarrollador haga esto usando un cliente de Windows?¿Tiene una copia de trabajo no válida o hay un error en el cliente (TortoiseSVN)?
  2. ¿Cómo podemos evitar que cambios como estos ingresen al repositorio (es decir,¿Alguien ha escrito un script de enlace que realice una verificación de integridad para detectar problemas con las carcasas de los archivos)?
¿Fue útil?

Solución

Definitivamente hay un script de enlace que verifica la distinción entre mayúsculas y minúsculas: Sourceforge lo tiene como una de sus opciones.Aparece un rápido google: http://www.subversionary.org/howto/using-check-case-inSENSITIVE-PY-on-Windows y http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/case-inSENSITIVE.PY

El problema habrá surgido en una plataforma Windows si el usuario 1 agregó foo.data.sql y el usuario 2 agregó foo.Data.sql antes de recibir una actualización del usuario 1.

Espero que ayude :)

Otros consejos

En Windows, los archivos no distinguen entre mayúsculas y minúsculas, pero sí las conservan.Puede cambiar el nombre de un archivo, cambiando el caso y Windows conservará el cambio.El problema ocurre cuando Subversion intenta crear el segundo archivo.Windows informa que el archivo ya existe.

Si desea fusionar los dos archivos en una sola copia, en lugar de eliminar el archivo en el repositorio, puede cambiar el nombre del archivo defectuoso en el repositorio (es decir,agregue un sufijo como '.temp'), actualice el cliente, fusione el archivo bueno y luego elimine el archivo malo.

1;Es posible porque los dos archivos provienen de dos desarrolladores.Uno está cambiando el nombre o creando el archivo con diferentes casos y durante la confirmación no se da cuenta de que será un cambio de adición y no de confirmación.

2;Controlar Preguntas frecuentes sobre TortoiseSVN

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top