2011-02-09 9 views
15

Estoy un poco confundido acerca de cómo comprometerse en varias ramas de svn de diferentes ramas locales de git. En particular, aunque he leído muchas de las preguntas relacionadas sobre este tema, hay una cosa específica que nadie parece haber explicado hasta ahora:¿Cómo saber qué rama de svn remota es un seguimiento de rama local de git?

si ya tengo algunas sucursales locales, ¿cómo puedo saber qué ¿rama de svn remota que están siguiendo (si hay)?

De this answer parece que puede cambiar la rama que desea ser el seguimiento, pero la forma de consulta ella?

git branch -v no parece ser especialmente útil en esto (es decir, no se proporciona información adicional). También busqué en todos los archivos de texto en .git/, pero no pude encontrar nada allí también.

Respuesta

15

git svn info le da la URL del repositorio completo, por lo que la rama SVN debe aparecer allí.

+0

Sí, esto parece ser un paso importante en la dirección correcta; este es el primer comando que explícitamente establece qué rama vas a afectar con 'dcommit' básicamente. Si nadie encuentra un comando que muestre esta información _todas al mismo tiempo_ para _todas las sucursales locales, probablemente acepte esta respuesta. – UncleZeiv

1

No es exactamente lo que pidió, pero puede obtener la información básica usando git remote show $REMOTE_NAME donde REMOTE_NAME es el nombre del control remoto para su svn repo. Esto debería mostrar un TON de información acerca de qué va a dónde.

+1

No estoy seguro de dónde debería obtener '$ REMOTE_NAME' de ... ¿es ese el nombre de la sección' [svn-remote] 'de' .git/config'? – UncleZeiv

+0

@UncleZeiv Imagino (no estoy en 'git-svn' por el momento). ¿Qué ves cuando ejecutas 'git remote'? –

2

No estoy seguro, pero puede ser algo así en .git/config te ayuda?

[svn-remote "some-project"] 
     url = http://example.org/svn 
     fetch = trunk:refs/remotes/trunk 
     branches = branches/{branch1,branch2}:refs/remotes/branches/* 
     branches = branches/branch3:refs/remotes/branches/otherbranch3 
     .... 
+0

Gracias, pero no, no es así. Tengo una línea genérica 'branches = branches/*: refs/remotes/branches/*', y no se menciona ninguna rama local de git, y mucho menos cuál es la relación entre las ramas locales y las sucursales de svn remotas. – UncleZeiv

-4

Usted podría intentar con:

git remote -v 
+0

hm, esto vuelve en silencio. – UncleZeiv

+0

esto no es útil cuando el servidor remoto es svn en lugar de git. – apadana

0

Por ahora estoy usando

git svn dcommit -n 

También me gustaría verlo con comandos como "-av git branch" o "git remote - v "más potencialmente algún indicador adicional.

Cuestiones relacionadas