svn fusionar problemas después de la migration cvs2svn

Nuestro equipo tenía un repository cvs, que convertimos a svn a través de cvs2svn. Nuestro repository tiene una twig principal (llamémosla en main ), que funciona efectivamente como troncal (aunque técnicamente se bifurcó desde el tronco en el pasado).

Después de la conversión de cvs2svn, me bifurqué de main a branch .

Hice un pequeño cambio en la branch , y luego intenté fusionar la branch nuevamente en main :

 [~/main] svn merge https:.../branch 

Esto debería calcular la branch diff a partir de la split, y aplicar esa diferencia a main . Se remonta un par de años atrás, sin embargo, dando lugar a un trillón de conflictos.

¿Alguna idea sobre cómo solucionar este problema? Revisé Google pero no puedo encontrar nada.

Sé que puedo llamar a svn merge y pasar los numbers de revisión exactos. Estoy buscando una mejor alternativa.

Necesitas decirle a svn fusionar cuál es tu punto de fusión para saber qué range de commits sincronizar con main. Como no especificó un range, se establece de manera pnetworkingeterminada en el range de confirmaciones a través de la revisión HEAD. Esto causa demasiadas revisiones.

Esto obtendrá la revisión de compromiso anterior de la que se sincronizará:

 svn log --xml --stop-on-copy https://.../branch | grep 'revision=' | head -n 1 | sed 's/.*revision="\([0-9][0-9]*\)".*/\1/g' 

Básicamente, obtiene la primera revisión de copy en la twig (que llamaré "REV"). A continuación, combinará eso con la revisión HEAD de su copy 'principal' (en el directory principal):

 cd main svn merge https://.../branch:REV https://.../branch:HEAD . 

Esto debería aplicar todos los cambios de REV a HEAD en la copy 'twig' a la copy 'principal'. Esto debería funcionar bien incluso para repetir fusiones de twig a principal.

¡Aclamaciones!