Convirtiendo un repositorio de CVS a Subversion

Quizá la manera más importante de familiarizar a usuarios de CVS con Subversion es dejarles continuar trabajando en sus proyectos usando el nuevo sistema. Y mientras que eso se puede lograr usando una importación plana a un repositorio de Subversion de un repositorio exportado de CVS, la solución más cuidadosa implica el transferir no solo la última foto de sus datos, sino toda la historia detrás de esta también, a partir de un sistema al otro. Éste es un problema extremadamente difícil a solucionar que implica la deducción de cambios en ausencia de atomicidad, y traducción entre las políticas de ramificación totalmente ortogonal de los sistemas, entre otras complicaciones. No obstante, hay un puñado de herramientas que que demandan apoyar por lo menos parcialmente la capacidad de convertir los repositorios existentes de CVS en unos de Subversion.

Una herramienta de estas es cvs2svn (http://cvs2svn.tigris.org/), un script de Python creado originalmente por miembros miembros de la propia comunidad de desarrollo de Subversion. Otros incluidos el módulo conversor para la herramienta VCP de Chia-liang Kao (http://svn.clkao.org/revml/branches/svn-perl/) y el RefineCVS de Lev Serebryakov's (http://lev.serebryakov.spb.ru/refinecvs/). Estas herramientas tienen varios niveles en estado completo, y pueden tomar decisiones enteramente diferentes sobre cómo manejar la historia de su repositorio de CVS. Cualquier herramienta que decida usar, asegúrese de realizar tantas verificaciones como pueda basándose en el resultado de conversión—¡después de todo, usted ha trabajado duro para construir esa historia!

Para una colección actualizada de enlaces a herramientas conversoras conocidas, visite la página de enlaces del website de Subversion (http://subversion.tigris.org/project_links.html).