Divida el repository SVN en varios repositorys

Tengo un repository SVN con esta estructura de files:

|---trunk | |---project1 | |---project2 | |---project3 | |--branches | |---1.1 | |---project1 | |---project2 | |---project3 | |---1.2 | |---project1 | |---project2 | |---project3 |--tags | |---1.1 | |---project1 | |---project2 | |---project3 | |---1.2 | |---project1 | |---project2 | |---project3 

Me gustaría migrar todo a git (mantener el historial). Para que tenga 3 proyectos de git: proyecto1, proyecto2, proyecto3.

Para hacer eso, estaba pensando que crear un nuevo repository para cada proyecto sería una buena idea y luego migrar cada repository a git.

Busqué en línea pero no puedo encontrar una solución para esta estructura de files. ¿Saben si debería usar filters svn o qué? (No sé mucho sobre svn).

¡Gracias!

Aunque es posible dividir el repository con SVN, será mucho más fácil hacerlo con git, que es mucho más flexible cuando se trata de reescribir y reorganizar el historial. Si aún insistes, mira a continuación :-).

Entonces mi recomendación es:

  • O bien: primero convierte el repository a git y luego divídelo. Para la split, ver, por ejemplo, la pregunta Dividir el repository grande de Git en muchos más pequeños (que por cierto también describe una migration desde SVN).
  • O bien: Convierta y divida de una vez, convirtiendo el repository pieza por pieza. Al convertir a git, puede indicarle a git que solo importa / convierte una carpeta SVN (con historial y subcarpetas). De esta forma, creas un repository git para las partes del repository SVN de inmediato.

Si tiene que dividir con Subversion, la única opción realist que veo es usar svnadmin dump y svndumpfilter .

Básicamente, va a volcar todo el repository en un file (requiere acceso de administrador al server SVN), luego modifica ese file de volcado y crea nuevos repositorys SVN desde él. La split se explica (por ejemplo) en el libro "Control de versiones con Subversion", capítulo Mantenimiento de repositorys , especialmente en la subsección "Historial de repositorys de filtrado".

Para una explicación detallada de una split + migration, consulte, por ejemplo, Migración de repositorys de Subversion a Git: la Guía definitiva para usuarios de TeamForge por CollabNet (irónicamente, la compañía que fundó el proyecto de Subversion).