Pregunta

Estoy buscando una manera de unir dos historiales de revisión para un solo archivo.

Uno de nuestros proyectos fue rastreado a través de RCS. Ahora, este proyecto vive en CVS. Inicialmente se comprometió como un nuevo proyecto. Como resultado, el historial de CVS no muestra las revisiones anteriores que se rastrearon a través de RCS.

Por ejemplo, supongamos que el archivo foo.c se revisó 10 veces en RCS, luego 2 veces en CVS. RCS tiene versiones 1.1 a 1.10, y CVS tiene versiones 1.1, 1.2 y 1.3. RCS versión 1.10 y CVS versión 1.1 son idénticas.

Estoy tratando de crear un historial combinado de manera que foo.c muestre 12 versiones, 1.1 a 1.12. Dado que CVS almacena revisiones en el mismo formato de archivo que RCS, debería ser una simple cuestión de comenzar con el archivo RCS existente, y luego registrar los nuevos cambios con el " ci " comando (preservar las marcas de tiempo, los ID de usuario y los mensajes de confirmación). Cualquier etiqueta CVS también necesitaría ser preservada. Este nuevo archivo RCS tendría el historial completo, que luego podría agregarse al repositorio CVS, reemplazando la versión anterior.

Suponga que no hay ramas en esta base de código. Solo desarrollo en línea recta.

¿Ya existe tal programa de utilidad?

¿Fue útil?

Solución

Acabo de escribir una biblioteca de Python, EditRCS ( PyPi ), para manipular archivos RCS. El script de ejemplo rcs_join unirá la primera revisión de un archivo RCS al encabezado de otro y actualizará las revisiones de rama y etiqueta.

Esperemos que haga lo que quiera (¡aunque probablemente ya sea demasiado tarde!)

Otros consejos

Si se trata de un archivo único y no tiene que transferir una gran cantidad de revisiones, siempre puede pagar desde el sistema de versiones anterior una revisión a la vez y confirmar eso en el nuevo sistema de versiones (la mayoría de los metadatos del sistema de versiones pueden -existir en el mismo directorio) & # 8230; este método funciona, por supuesto, sea cual sea el sistema de versiones de origen y destino y eso es lo que hice personalmente cuando tuve un problema similar al tuyo.

O puede probar la herramienta Tailor , que puede convertir de / a muchos sistemas de versiones, aunque Realmente no sé si también puede "fusionarse" dos historias diferentes en una sola como necesita.

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