Tengo un repositorio SVN central al que debo comprometerme, pero tengo una pasión por git (como cualquier otro desarrollador que conozco). El caso es bien conocido.Cómo importar ramas y etiquetas svn en git-svn?
Luego leí sobre git-svn y lo intenté. Dado que no necesito la historia completa, sólo de dos meses o así, lo hice así:
git svn clone -r 34000 -s https://svn.ourdomain.com/svn/repos/Project/SubProject
Subproyecto, como de costumbre, los subdirectorios trunk
, tags
y branches
. Estupendo.
Luego, con el fin de obtener la última revisión, lo hice
git svn rebase
Algunas descargas más tarde, muy bien. Última revisión, registros, etc. Ok, ahora cambiaré a mi rama de características.
$ git branch
* master
$ git branch -r
trunk
$ git branch -a
* master
remotes/trunk
Las preguntas son: ¿Dónde están mis ramas? ¿Hice algo malo? ¿Cómo debo hacer para obtener mis sucursales en el nuevo git repo?
git-svn, dondequiera que haya leído sobre él, manejó sabiamente con ramas y etiquetas, pero el comportamiento no es el esperado. ¡Gracias!
EDIT: Acabo de descubrir que git svn fetch
lo hará. Pero obtendrá todas las revisiones, que es algo que no me gustaría.
Bueno, esto no responderá a su pregunta, de ahí el comentario: Cuando se usa git-s vn romperá las características de seguimiento de fusión de Subversion, ya que git-svn no las admite. En mi humilde opinión, este problema por sí solo descalifica a git-svn para un uso serio con un repositorio de subversión. No he encontrado ninguna información sobre si alguna vez se desarrollará esta característica, probablemente no, ya que a las personas les gusta cambiar a un DVCS en lugar de usar dichos hacks. – gimpf
He leído en alguna parte que la transformación de git se fusiona en confirmaciones usando --squash no romperá el seguimiento de fusión de subversión. –
Para el diseño estándar "troncal/ramas/etiquetas", que pareces estar usando, puedes probar ['--stdlayout'] (http://www.kernel.org/pub/software/scm/git/docs /git-svn.html), como en 'git svn clone --stdlayout svn: // ...' - ver http://stackoverflow.com/questions/5361559/what-does-the-stdlayout-do-in -git-svn-clone –