Migración de SVN a GIT

Migro de SVN a GIT de esta manera

git svn init https://svn... git svn fetch 

¿Puedo cambiar el compromiso de migration, en lugar de

"Commit to SVN" en GIT fue "Número de revisión en SVN – Commit to SVN"

Por ejemplo

541 – Módulo Init ABC

Para una migration de una sola vez, git-svn no es la herramienta adecuada para conversiones de repositorys o partes de repositorys. Es una gran herramienta si quieres usar Git como frontend para un server SVN existente, pero para las conversiones svn2git no debes usar git-svn , pero svn2git es mucho más adecuado para este caso de uso.

Hay muchas herramientas llamadas svn2git , la mejor probablemente sea la de KDE de https://github.com/svn-all-fast-export/svn2git . Recomiendo usar esa herramienta svn2git . Es lo mejor que sé disponible por ahí y es muy flexible en lo que puedes hacer con sus files de reglas.

Podrá configurar svn2git el file de reglas de svn2git para producir el resultado que desee a partir de su layout de SVN actual, incluidos los historiales complejos que puedan existir.

Con KDE svn2git también puede usar el argumento --msg-filter para modificar el post de compromiso y así introducir el id de revisión en la línea de asunto.

Si no está al 100% sobre el historial de su repository, svneverever de http://blog.hartwork.org/?p=763 es una gran herramienta para investigar el historial de un repository SVN al migrarlo a Git.


Aunque es más fácil comenzar con git-svn (o el svn2git que svn2git ), aquí hay algunas razones más por las que el uso de KDE svn2git lugar de git-svn es superior, además de su flexibilidad:

  • la historia es reconstruida mucho mejor y más limpia por svn2git (si se usa la correcta), este es especialmente el caso para historias más complejas con twigs y fusiones, etc.
  • las tags son tags reales y no sucursales en Git
  • con git-svn las tags contienen un compromiso vacío adicional que también hace que no --tags parte de las twigs, por lo que una fetch normal no las obtendrá hasta que proporciones --tags al command, ya que de manera pnetworkingeterminada solo se --tags las tags que apuntan a las twigs obtenidas . Con las tags adecuadas svn2git es donde pertenecen
  • si cambiaste el layout en SVN puedes configurarlo fácilmente con svn2git , con git-svn svn2git historia eventualmente
  • con svn2git también puede dividir un repository SVN en múltiples repositorys Git fácilmente
  • o combine múltiples repositorys SVN en la misma raíz SVN en un repository Git fácilmente
  • la conversión es un billón de veces más rápida con el svn2git correcto que con git-svn

Verá, hay muchas razones por las cuales git-svn es peor y el KDE svn2git es superior. 🙂