Merge branch que se creó con el mismo nombre que el eliminado

Usamos Subversion como VCS primario. Y uso a Git como cliente conveniente. Y ahora no pude fusionar correctamente la twig de características en la twig de publicación.

Originalmente, la twig de características ( function ) se creó a partir de la twig de publicación ( Versión1.0 ). Más tarde se dio count de que Release1.0 se cerró y ahora la function se debe desarrollar en function de la versión 2.0 .
No hay problema.

git rebase --onto Release2.0 HEAD~30 

Algunos se comprometen a hacer coincidir la evolución del código en la twig Release2.0

 git rebase -i HEAD~14 

En este punto, decidí no comprometer los cambios en svn, pero mantener todo el historial de desarrollo en la twig de características y fusionarme con la twig de versiones (ya que más adelante probablemente tomaré esto en otro lugar)

 svn rm ....feature svn cp ....Release2.0 ...feature -m"Feature based on Release2.0" git svn fetch && git svn rebase git branch tmp Release2.0 && git checkout tmp git rebase --onto feature HEAD~35 git checkout feature && git merge tmp git svn dcommit 

Para mantener svn: mergeinfo sincronizado, hice la fusión real en svn

 svn merge -rxxx:yyy feature git-svn fetch && git svn rebase 

¿Hecho? ¡No! La twig de características y la twig Release2.0 no se fusionaron de acuerdo con Git. La twig de Liberación acaba de recibir una confirmación adicional.

El problema es: aunque la twig de características se eliminó y se volvió a crear desde otro lugar, el Git muestra fusión en este punto. Por lo tanto, se niega a mostrar la operación de fusión (hay confirmaciones que no se combinaron, pero son de una parte eliminada de la sucursal). De modo que debería utilizar otro nombre al crear twigs de características en tales casos para evitar tales problemas.

Bueno, tengo la lección y ahora sé cómo evitar esto en el futuro, pero ¿es posible arreglar esto ahora o es posible solucionarlo de otra manera en el futuro? He intentado cambiar manualmente svn: mergeinfo funciona, pero esto significa que necesito marcar todos los commits hasta el punto de bifurcación como se fusionó en svn: mergeinfo.

Esto parece confirmar las limitaciones de git-svn respecto a la rebase, tal como se presenta en su sección de CAVEATS :

En aras de la simplicidad y la interoperación con Subversion, se recomienda que todos los usuarios de git svn dcommit , dcommit y dcommit directamente desde el server SVN, y eviten todas las operaciones de git clone/pull/merge/push entre repositorys y sucursales de git.

Puede volver a crear la información de fusión en el lado de SVN, pero Git no reflejará la fusión después de git-svn fetch && git svn rebase .
Por defecto, git-svn no se preocupa por merginfo.

Sin embargo, " ¿Puede git-svn poblar correctamente las properties de svn: mergeinfo? " Menciona

el estado actual de las cosas con git-svn ha cambiado desde que se lo pidieron.
Específicamente, en git 1.7.5, hay un soporte limitado para configurar el svn:mergeinfo cuando se vuelve a dcommitting a svn.

git svn dcommit ahora acepta el -mergeinfo=<mergeinfo> .