2010-02-15 9 views
5

¿Hay alguna herramienta disponible que me permita volver a establecer en git una rama de SVN en un nuevo padre?Herramienta SVN para volver a establecer una base en una rama en el estilo de git

Por lo tanto, en la siguiente situación, puedo crear una rama de la característica, y hay commit en el tronco

   E---F---G Feature 
      /
A---B---C---D--H--I trunk 

Estoy buscando una herramienta que copia el tronco, y aplica las confirmaciones de uno en uno , lo que me permite resolver cualquier conflicto, si existe, pero cada confirmación conserva el mismo mensaje de confirmación y todavía es una confirmación separada.

    E'---F'---G' Feature 
       /
A---B---C---D--H--I trunk 

Así que cometen E 'será una confirmación con los mismos cambios que E, excepto en el caso de E causando un conflicto, en cuyo caso E' será diferente de E en la que E' tiene los conflictos resueltos, y el mismo mensaje de compromiso como E.

Estoy buscando esto, ya que ayuda a mantener las sucursales al día con el enlace troncal: el método svnmerge.py/mergeinfo no ayuda, ya que aún necesita resolver los cambios cuando te fusionas de nuevo al tronco.

Respuesta

3

Hay un rebase command en la utilidad sv para svn. Nunca lo he usado, porque crea una nueva rama.

+1

SVN lo hace difícil. Como paso de publicación, podría eliminar la rama preregulada y reemplazarla por la versión reestablecida. Supongo que svn explotaría tan pronto como alguien con cambios locales intentara actualizar. –

0

Para mantener una rama actualizada con los cambios en la troncal, simplemente fusiona la troncal en la rama usando svn merge.

+0

Ese flujo de trabajo tiene un equivalente directo en Git, 'git merge'. Él pregunta si hay un equivalente en Subversion para 'git rebase'. –

+3

Sí, eso bien podría ser así. Y cuando se trabaja con git (entiendo que git incluso puede usar un repositorio de SVN existente), entonces, de hecho, podría ser lo mejor. Sin embargo, cuando trabajo con SVN, la forma de actualizar una rama de SVN existente con los últimos cambios en el enlace es hacer lo que escribí, y es por eso que lo escribí de esa manera. – sbi

+0

@Ben Sé que no hay un equivalente en subversión, pero me preguntaba si existían herramientas de terceros que se hayan redefinido eficazmente – timmow

0

Soy un usuario de SVN largo y pesado, pero la capacidad de volver a rastrear sucursales en git, al menos para mí, parece ser su característica más importante. Desafortunadamente, todos los folletos de marketing git brillante parecen enfocarse en la 'característica' del repositorio distribuido como la más grande, lo cual no es tan importante para nuestro escenario.

Cuestiones relacionadas