2010-07-20 18 views
5

hace unos meses configuré un git con un repositorio svn. Hasta ahora solo usaba el repositorio svn para mantenerme actualizado con la aplicación suministrada. Pero ahora también quiero volver a cometer cosas. Para hacer esto, cada característica que voy a comprometer debe estar en una rama separada. Leí acerca de cómo se debe crear una nueva rama, etc. Pero creo que configuré mal mi git, no tengo ninguna información de la rama, etc. Creo que solo tengo la información de la línea externa. Así es como mi repositorio SVN se ha establecido en mi git config:git-svn branching: cómo configurar git config

[remote "origin"] 
    url = url-of-git-repository 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[svn-remote "svn"] 
    url = url-of-svn-repository/trunk 
    fetch = :refs/remotes/git-svn 
[branch "master"] 
    merge = refs/heads/master 
    remote = origin 
... other branch information below (these are git branches) 

Ahora bien, como se puede ver mi URL svn-remoto va directamente al tronco. He leído acerca de la adición de esto:

branches = branches/*:refs/remotes/* 

pero cuando i crear una nueva rama entonces a añadir que en el tronco/ramas /. Cuando no agrego la línea, entonces no sé cuál es el destino de la rama.

¿Alguna idea de cómo resolver esto sin romper las ramas existentes, el código, etc.?

saluda, Daan

Respuesta

6

creo que la configuración de las ramas es relativa a la URL svn-remoto.

Aquí está nuestra configuración de la forma en que se hizo haciendo

git svn -s url-of-svn-repository/foo

(En el interior del foo carpeta, tenemos el tronco ramas/estructura normal/tags)

[svn-remote "svn"] 
     url = url-of-svn-repository 
     fetch = foo/trunk:refs/remotes/trunk 
     branches = foo/branches/*:refs/remotes/* 
     tags = foo/tags/*:refs/remotes/tags/* 

Usted podría intentar ajustándose a esta estructura, o vuelva a clonar git svn con el parámetro -s. Configurará todo esto para usted (--diseño estándar).

0

Esta fue una publicación que me ayudó a ponerme a trabajar con svn en un proyecto que tenía una estructura de rama muy poco ortodoxa (lo cual es normal para las empresas que usan SVN por alguna razón, me temo).

http://www.dmo.ca/blog/20070608113513/

+0

Sería de múltiples maneras mejor tener múltiples ramas SVN manejado de acuerdo con la misma sección '[xxx svn-remoto]'. No es necesario realizar 'git svn fetch' para cada una de las ramas por separado. También creo que las revisiones svn comunes se representan como commits individuales compartidos en el repositorio mirroring git. Puede tener el '*' en la definición de 'branches' en cualquier componente del subdirectorio de la ruta, aunque debe editar' .git/config' manualmente para lograr esto. – FooF

Cuestiones relacionadas