Saltar al contenido

git svn – clonar repositorio con todos los externos

Solución:

git-svn no admite externos, pero puede probar SmartGit en lugar de git-svn. Es compatible con svn: externals, convirtiéndolos en un archivo .gitsvnextmodules y mostrándolos como módulos. La única restricción: debe clonar el repositorio con SmartGit en lugar de abrir el repositorio git-svn ya existente.

He usado git como interfaz para acceder a un repositorio SVN. La estructura en SVN es generalmente bastante simple, de modo que hay un directorio de nivel superior que tiene los externos y no los externos en los subdirectorios. Además, los externos no cambian mucho una vez que se agregan. Así que suponiendo algo como:

git svn clone X
cd X

He tenido éxito al obtener todos los externos con el siguiente comando:

git svn show-externals | 
 perl -ne 'if (/^/(.*) (.*)/) { print "git svn clone $1 $2n"; }' | 
 bash

Supongo que una estructura más complicada para externos requeriría un script en Perl más complicado. Además, si sus aspectos externos cambian, tendrá que hacer algo similar nuevamente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *