2010-11-24 18 views
5

Digamos que tengo A:/A_Project/trunk/A y B:/B_Project/trunk/B en mi SVN. Quiero fusionar A con B y almacenarlo en B. He utilizado las opciones de 'fusionar dos árboles diferentes' en mi GUI de TortoiseSVN. ¡Todo está bien, excepto que la revisión final no tiene registro de cambios del árbol A!SVN diferentes árboles fusión

La pregunta es: ¿cómo fusionar dos árboles diferentes y conservar los registros de ambos en la revisión final?

Gracias por su ayuda!

Respuesta

5

Honestamente, mi suposición es que Tortoise solo está creando una copia de trabajo de la rama B, insertando el código del árbol A, y fusionándose como si fuera solo un ejercicio masivo de codificación.

No creo que SVN apoye originalmente la fusión entre proyectos porque los números de revisión (y, por lo tanto, los registros de confirmación adjuntos) obviamente entrarían en conflicto, ya que ambos proyectos tienen revisiones 1..n.

Así que no sé si lo que estás buscando hacer es posible.

Para obtener más detalles sobre el uso de la interfaz de línea de comandos para la fusión Yo recomendaría la Biblia Subversion:

http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html

+1

Gracias por las referencias -. Los he leído antes, obviamente, y hecho de todo como en la tortuga ayuda. El resultado fue, como notó correctamente, la actualización simple del árbol B:/ Gracias de todos modos – SOReader

+0

Esas referencias están muy desactualizadas. Tenga cuidado al usar Google y las referencias del Libro de Subversion allí enumeradas. Muchas funciones de línea de comandos de las primeras versiones 1.0 tienen muchas características nuevas. Y las dos referencias que ha publicado tienen una versión de referencia que tiene más de 5 años. – jgifford25

+0

gracias jgifford, actualizado a la versión 1.5 del documento. – Eddie

0

Debido a que hizo una fusión (árbol o archivo, no importa), la historia de A es no disponible para ver. Sin embargo, si lo hizo, combine con un cliente de Subversion que admita 1.5.xo superior e ingrese las propiedades de svn: merge-info, se puede ver el historial de A. Desde la línea de comando usando el comando svn log y la opción -g, puede ver el historial de un archivo o árbol, incluidas las rutas que se combinaron varias veces.

Esto se puede hacer con TortoiseSVN también. Vea this release note del lanzamiento de TortoiseSVN 1.5.x sobre cómo ver el historial de fusión con el historial normal.

0

Subversion no admite la fusión de dos árboles en una revisión que conserva el historial de ambos lados de la fusión.

Esta es una diferencia bastante básica entre el modelo de Subversion y algunos otros sistemas de control de versiones, como Mercurial o Git.

Las versiones modernas de Subversion pueden simular esto, con la propiedad mergeinfo, pero no se construye de forma nativa en

Cuestiones relacionadas