Pregunta

En versiones recientes de git, la configuración svn.pushmergeinfo Fue presentado:

clave de configuración:svn.pushmergeinfo

Esta opción hará que git-svn intente completar automáticamente la propiedad svn:mergeinfo en el repositorio SVN cuando sea posible.Actualmente, esto solo se puede hacer cuando se confirman fusiones que no son de avance rápido donde todos los padres, excepto el primero, ya han sido insertados en SVN.

Estamos usando esto para tener un entorno mixto donde algunos desarrolladores usan SVN y otros usan Git-SVN.Esto funciona muy bien al bifurcar y fusionar ramas SVN en Git y luego git svn dcommit-volviendo a SVN, y en realidad completa correctamente la propiedad mergeinfo en casi todos los casos.Sin embargo, en situaciones concretas lo hace de forma incorrecta.

Esto sucede principalmente cuando se fusiona una rama con la maestra (troncal), después de haber fusionado la troncal con esa rama (efectivamente, el equivalente a una reintegración SVN).

La fusión del tronco a la rama agrega una línea de información de fusión para el tronco en esa rama (según se desee), pero la fusión de reintegración de la rama de regreso al tronco copia esa línea en la información de fusión del tronco, creando efectivamente una línea de autorreferencia en la propiedad de información de fusión del tronco. que apunta a sí mismo.Hasta donde yo sé, esta autorreferencia nunca debería suceder y no sucede cuando se usa SVN solo.Entonces, considero que esto es un error de git-svn (que he informado aquí).Esto, a su vez, crea problemas en el futuro que afectan a otros usuarios de SVN y corrompen la información de fusión en futuras confirmaciones.

Lo que estoy buscando es una solución alternativa: ¿Cómo puedo decirle fácilmente a git que no copie las líneas de mergeinfo para la rama que se está fusionando o, alternativamente, cómo puedo decirle a SVN que elimine esas autorreferencias al confirmar (o cualquier otra solución que no dé como resultado una línea de mergeinfo con autorreferencia? pero conserva las otras cualidades de la creación automática de svn:mergeinfo desde git).

(Para aclarar, soy no Buscando gente que me cite el manual de git o me diga que "fusionarse con Git-SVN es peligroso y no es compatible".Responda solo si puede ayudar con el problema o proponer un flujo de trabajo alternativo.También serían útiles sugerencias sobre el código git relevante, ya que podrían permitirme crear un parche para resolver este problema.¡Gracias!)

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