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.