¿Cómo puedo hacer que git-svn use una rama svn en particular como repositorio remoto?


Una advertencia: Soy un n00b a git en general. Mi equipo usa ramas de características en svn, y me gustaría usar git-svn para realizar un seguimiento de mi trabajo en una rama de características en particular. He estado (aproximadamente) siguiendo el post de Andy Delcambre para configurar mi repositorio local git, pero esas instrucciones parecen haber llevado a git a elegir la rama svn que había cambiado más recientemente como repositorio remoto; el problema es que esa no es la rama que me importa. ¿Cómo puedo controlar qué branch git-svn utiliza? O am ¿Me estoy acercando a esto completamente mal?

ACTUALIZACIÓN: Usé el -T, -b, y -t opciones (en mi caso porque el repositorio svn tiene varios proyectos, pero quiero que el repositorio git contenga solo el proyecto en el que estoy trabajando).

Author: avelis, 2008-10-10

4 answers

Muchas gracias al Blog de Bart por esta útil referencia para las ramas svn en git. Aparentemente todo lo que necesitaba era especificar una rama remota al crear la rama git, por ejemplo,

git checkout -b git-topic-branch-foo foo

Donde foo es el nombre de la rama remota.

 61
Author: Hank Gay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-13 12:41:16

También puedes echar un vistazo a esto: git-svn es un gateway drug - robby on rails.

Usé algo como esto cuando necesitaba asegurarme de que mi rama local apuntaba a la rama svn remota correcta:

git branch -r

Para obtener el nombre de la rama remota que quiero rastrear. Entonces

git reset --hard remotes/svn-branch-name

Para cambiar explícitamente mi rama local para que apunte a una rama remota diferente.

 30
Author: Sam Mulube,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-30 07:33:30

Primero necesitaba ejecutar 'git svn fetch', ya que la rama con la que quería asociarme había sido creada después de mi cliente git.

 9
Author: android.weasel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-01 10:23:34

Uso git-svn pero no he usado las características que interoperan con las ramas SVN. Dicho esto, noto que el tutorial que estabas siguiendo no usó las opciones -T,- b,- t para git svn init. Estas opciones le dicen a git-svn cómo se nombran los directorios trunk/branches/tags de upstream, lo que podría ser importante en su situación.

 1
Author: Greg Hewgill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-10 19:34:46