He estado trabajando en mover nuestros 9 proyectos en un repositorio SVN a 9 repositorios git separados, administrados en un servidor por gitolite y luego cerrando el SVN. Siete de ellos fueron fáciles ya que no tenían ramas o etiquetas así que en mi estación de trabajo que fue capaz de hacer un simple:¿Migrar de Subversion a git, clonar todas las ramas y avanzar a través de gitolita?
git svn clone --stdlayout --no-metadata -A svnauthors.txt svn+ssh://[email protected]/var/subversion/project tempProject
Luego empuja desde mi estación de trabajo a la gitolite sever a través de:
git remote add origin ssh://[email protected]/project
git push -u origin master
y todos han estado funcionando genial. Ahora los dos proyectos finales son más difíciles, con aproximadamente 30 etiquetas/ramas cada uno. Después de ejecutar el 'svn git clone' que el anterior en uno de esos proyectos que veo:
$ git branch -a
* master
remotes/BatchUpload
remotes/clarify_breadcrumb
remotes/contact_type
remotes/contact_upload_improvements
remotes/file_cabinet
remotes/mobile
remotes/summary_tiles
remotes/summary_updates
remotes/tags/release-2.1.2
remotes/tags/release-3.0.1
remotes/tags/release-3.0.2
remotes/tags/release-3.0.2c
remotes/tags/release-3.1.1
remotes/tags/release-3.1.3
remotes/tags/release-3.1.4
remotes/tags/release-3.1.5
remotes/tags/release-3.1.5.UPDT
remotes/tags/release-3.2
remotes/tags/release-3.2.1
remotes/tags/release-3.2.2.1
remotes/tags/release-3.2.3
remotes/tags/release-3.2.4
remotes/tags/release-3.2.6
remotes/tags/release-3.2.7
remotes/tags/release-3.2.7.1
remotes/trunk
remotes/user_man_batch_upload
remotes/user_management
Ahora, ¿cómo hago para conseguir todas esas etiquetas/ramas descargan en mi estación de trabajo local para que pueda empujar a través de gitolite y apagar el servidor SVN permanentemente? ¿Es lo que tengo que hacer en this guide, haciendo un 'git checkout -b' para cada rama y etiqueta? ¿Debo usar svn2git o alguna otra herramienta para esto?
¿qué quieres decir con ejecutar el comando que se imprime ??? –
Oh, su salida es un comando ... gracias tuve muchas ramas que me hacen confundir ... –
Funciona para mí. Pero ¿por qué no hay ningún comando ootb git para ello? O bien, ¿por qué git push --all fallan para git svn branches? – Christian