crea una nueva twig svn con git-svn

Mientras trabajas con git-svn, y un svn repo / trunk 'típico', / branches / …, / tags / … ¿Cómo puedo enviar una twig local a una nueva twig dentro de / branches?

Digamos que tenemos un repository esquemático de Subversion con trunk/ branches/ , y tags/ vacíos:

  / tmp $ git svn clone -s file: /// tmp / svn-repo / git-svn-repo
 Repositorio de Git vacío inicializado en /tmp/git-svn-repo/.git/
 r1 = 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c (refs / remotes / trunk)
 HEAD retirado:
   file: /// tmp / svn-repo / trunk r1

 / tmp $ cd git-svn-repo /

 / tmp / git-svn-repo $ git svn branch my-branch
 Copiando file: /// tmp / svn-repo / trunk en r1 a file: /// tmp / svn-repo / branches / my-branch ...
 Se encontró un posible punto de ramificación: file: /// tmp / svn-repo / trunk => file: /// tmp / svn-repo / branches / my-branch, 1
 Padre de la twig encontrada: (refs / remotes / my-branch) 80bdcfc0cf248b74b914a1b5f99ab89fb4e31b6c
 Siguiente padre con do_switch
 Siguió con éxito al padre
 r2 = 56150bbd9d3aec94972ff46d030e30ec726595ab (refs / remotes / my-branch) 

La siguiente explicación cambiará de ida y vuelta entre dos vistas del mismo repository, una copy de trabajo de Subversion del repository completo (no solo el trunk ) y un clon git-svn . Para mayor claridad, el prefijo de cada request de shell indicará el directory actual.

En el lado svn, ahora verás

  / tmp / svn-repo-wc $ svn up
 A branches / my-branch
 Actualizado a la revisión 2. 

También verás la nueva twig en el lado git:

  / tmp / git-svn-repo $ git branch -r
   my-branch
   el maletero 

Para comprometerse con la twig recién creada, primero cambie a ella:

  / tmp / git-svn-repo $ git reset --hard remotes / my-branch
 HEAD está ahora en 2c9bef2 Crear twig my-branch 

A continuación, crearemos un commit git ficticio

  / tmp / git-svn-repo $ toque en mi twig
 / tmp / git-svn-repo $ git add on-my-branch
 / tmp / git-svn-repo $ git commit -m 'Primer compromiso con my-branch'
 [master b94a0eb] Primero comprometerse con my-branch
  0 files cambiados, 0 inserciones (+), 0 eliminaciones (-)
  crear modo 100644 en mi twig 

y finalmente enviarlo a Subversion:

  / tmp / git-svn-repo $ git svn dcommit
 Compromiso de file: /// tmp / svn-repo / branches / my-branch ...
     Una en mi twig
 Comprometido r3
     Una en mi twig
 r3 = d3c5ba3e03e5cdee96f470ff4c9898eb7c523ed8 (refs / remotes / my-branch)
 Sin cambios entre HEAD actual y refs / remotes / my-branch
 Restablecer los últimos refs / remotes / my-branch 

La copy de trabajo de Subversion nos da la confirmación:

  / tmp / svn-repo-wc $ svn up
 A branches / my-branch / on-my-branch
 Actualizado a revisión 3.