2010-08-06 18 views
5

Tengo un repositorio CVS de producción que tiene varios años y he notado que tiene archivos comma-v con el mismo nombre tanto en el ático como en el directorio real para un determinado ubicación. Esto parece ser un error.CVS archivos comma-v en ático y directorio

Mi pregunta es cómo puede ocurrir esto en primer lugar y qué hará CVS cuando existan archivos duplicados.

Mi conjetura (esperanza) es que ignorará la versión del ático todo el tiempo cuando hay una versión no ática. ¿Alguien puede confirmar si CVS se comporta bien todo el tiempo para esta situación?

Dicho sea de paso, este error fue marcado por cvs2svn porque estoy en el proceso de ingresar a un sistema de control de fuente "más nuevo".

Respuesta

6

Este problema es el resultado de un error de alguien dentro del repositorio CVS (es decir, no a través del cliente cvs). Desafortunadamente, tal extracción es común, por ejemplo, para evitar la limitación de que CVS no permite cambiar el nombre de los archivos. Tal vez alguien intentó cambiar el nombre de un archivo moviendo su archivo FILENAME,v, sin darse cuenta de que el nombre de archivo había estado en uso anteriormente en el historial del proyecto y, por lo tanto, ya tenía un archivo Attic/FILENAME,v.

Mi conjetura (esperanza) es que ignorará la versión del ático todo el tiempo cuando hay una versión no ática. ¿Alguien puede confirmar si CVS se comporta bien todo el tiempo para esta situación?

Dado que esta es una forma de corrupción del repositorio, dudo si el comportamiento de CVS en esta situación está documentado. Lo más probable es que su suposición sea correcta, pero asegurarse de que siempre se comporte de esta manera probablemente requiera un análisis del código fuente de CVS - para todas las versiones de CVS que haya utilizado alguna vez. Sugiero que haga algunos experimentos con su cliente típico de CVS y sus sucursales más importantes.

Dicho sea de paso, este error fue señalado por cvs2svn porque estoy en proceso de ingresar a un sistema de control de fuente "nuevo".

cvs2svn tiene un número de suggestions for working around this problem.

Cuestiones relacionadas