CVS a SVN migration y twig dentro de una twig

Hice una migration reciente de CVS a SVN usando la herramienta cvs2svn. En el proyecto recientemente migrado para uno de mis proyectos, la última versión forma parte de una twig denominada branch A (Parent Directory). Dentro de este proyecto, tengo un subproyecto, cuya última versión es otra twig, dice Branch B. Así que, básicamente, trunk no tiene la última versión de mi proyecto principal.

Entonces, en CVS una vez que pago por mi carpeta principal (Rama A), busco en mi subproyecto> Right + Click> CVS> Update Special> select Branch B (Como Branch B tiene lo último para subproyecto). Esto verificaría la última versión para el subproyecto y tendría la última versión de mi proyecto principal.

En SVN, sin embargo, no veo esta opción. SVN, por lo que yo sé, solo puede actualizarse con una revisión y no con una twig. Soy nuevo en SVN, por lo que hay más probabilidades de que esté equivocado. ¿Hay alguna manera de hacer lo que estaba tratando de hacer en el escenario de CVS?

Calculé una ronda sobre la forma de verificar el proyecto principal (Rama A) y luego revisé el sub proyecto por separado (Rama B). Luego eliminaría este subproyecto del primer pago (Proyecto principal-Rama A) y lo replaceía con la segunda versión de pago del subproyecto.

Puede cumplir sus objectives con svn externals . El subproyecto sería externo a otro repository.

Parece que estabas intentando hacer Sparse Branching. En Ramas dispersas, tiene una twig como su base (llamaremos a la Rama A ) y en otra twig (llamaremos a Rama B ), solo coloca los cambios de la Rama A , y no de toda la twig.

Esto a veces se hace en CVS porque las ramificaciones tardan mucho time en hacerlo. Descubrimos que tomaba 20 minutos para proyectos pequeños y hasta una hora para proyectos grandes. Sin embargo, termina siendo muy difícil de rastrear, y he descubierto que los sitios que lo usan tienden a perder la pista de cómo se supone que se deben hacer los loggings. Los sistemas de construcción continua tampoco pueden manejar las configuraciones de ramificación dispersa de CVS.

Subversion no hace Sparse Branching (al less muy fácilmente), pero la bifurcación en Subversion es rápida y simple de hacer. Crear una twig lleva less de un segundo. En Subversion, debe tomar la Rama A , y crear la Rama B fuera de la Rama A. Luego, coloca todas las diferencias entre la Rama A y la Rama B en la Rama A. Los cambios en la Rama A deben fusionarse con la Rama B de forma regular.

El problema con la ramificación dispersa es que si un file se cambia en ambas twigs, nunca se recoge. Con la fusión, los cambios en ambas twigs se agregan al file en la Rama B. Es por eso que tan pocos sitios hacen Sparse Branching.

Necesita crear una nueva Rama B de la Rama A , y luego hacer todos los cambios que están en su Rama B anterior en esta nueva Rama B y registrarla. Luego, la Rama B contendrá todos los files que necesita, puede usar los sistemas de continuous integration y la verificación de input y salida de files es una operación de un solo paso.