git-svn: cómo crear una label / twig para un proyecto secundario de SVN

Base en el hit de las respuestas a continuación. Encontré la solución.

  1. Clon SVN:
    $ git svn clone http://foo.net/code/design --trunk=trunk/proj1 --tags=tags/forProj1 --branches=branches/forProj1 localProjName

  2. Entonces la label se puede crear con un command simple
    $ git svn tag -n -m "test tag" test_v1

Notas: Eso también se puede hacer mediante hack .git / config en el clon de git local cambiándolo como

 [svn-remote "svn"] url = http://foo.net/code/design fetch = trunk/proj1:refs/remotes/trunk tags = tags/forProj1/*:refs/remotes/tags/* branches = branches/forProj1/*:refs/remotes/branches/* 

Pregunta original
Mi estructura de server SVN es así:

 http://foo.net/code/design/
                           | - tronco /
                           |  | - proj1
                           |  | - proj2
                           | - tags /
                           |  | - forProj1
                           |  | - forProj2
                           | - twigs /
                           |  | - forProj1

Pagaré el proj1:

$ git svn clone http://foo.net/code/design/trunk/proj1 proj1

y quiero crear una label para proj1 y poner esa label en http://foo.net/code/design/tags/forproj1

Lo intenté :

$ git svn tag -m "test tag for proj1" test_tag_1

Recibí un post de error que decía que tenía que poner "–destinación". Pero no sé cómo debería ser la opción de destino.

¿Alguien puede darme una pista de cómo puedo crear una label o una base de sucursal en el escenario anterior?

Gracias.

Primero, use un -n para ejecutar en seco, para que pueda asegurarse de que lo que hace el command es lo que desea que se haga. Con SVN, de lo contrario, puede ser un desastre.

Luego, el layout de su proyecto no es el estándar, por lo que git no sabría a dónde iría la label del proyecto1. En un layout estándar, el tronco y las tags serían hermanos, en ese caso podría haber usado un command como:

 git svn tag "project1_v12" -m "Version 1.2" 

Como la label SVN puede ejecutarse directamente en el server (incluso sin una comprobación de svn), mi método para hacerlo sería ejecutar el command svn directamente, así:

 svn cp svn_url/trunk/proj1 svn_url/tags/forproj1/v1.2 

y luego una git fetch normal de git fetch habría actualizado la label v1.2 en el git local bajo el espacio de nombres remoto "svn".

Mira los valores que obtienes cuando lo haces:

 git config --get-all svn-remote.svn.tags 

Una vez que estos deben coincidir con la location de la label que desee.

Especificar eso para --destination