2009-11-05 16 views
5

A intervalos regulares, recibo una nueva versión del software de un proveedor, entregada como código fuente en un paquete comprimido, y no tengo acceso a la fuente del proveedor repositorio de código Hacemos cambios en el código fuente del proveedor entre sus lanzamientos. Nuestros cambios no se incorporan en sus lanzamientos, pero necesito fusionar los cambios de sus lanzamientos en mi línea principal.Subversion: fusionando lanzamientos de código fuente de un proveedor a la línea principal a intervalos regulares

Mi entorno del repositorio es el siguiente:

  • /ramas/Vendedor liberación X 1.0
  • /ramas/Vendedor liberación X 1.1
  • /trunk/

El flujo de trabajo Seguí fue:

  1. Añadida Vendor X versión 1.0 como una rama y luego la copió en el tronco.
  2. Realizamos algunos cambios en el código fuente en el tronco y luego recibimos Vendor X versión 1.1.
  3. He añadido Vendor X release 1.1 a una sucursal. Ahora, me gustaría fusionar Vendor X versión 1.1 en el maletero.

El problema que tengo es que no importa cómo lo intente, termino con la fusión que no produce ningún cambio en el tronco, o que cada archivo se informa como un conflicto de árbol.

Creo que de alguna manera me gustaría hacer lo siguiente: decirle a Subversion que combine cada archivo sin tener en cuenta el número de revisión del archivo. Creo que Subversion está informando un conflicto de árbol para cada archivo, porque los archivos no se originaron en el mismo punto en el historial de revisión. Sin embargo, en muchos casos, estos archivos son idénticos.

Gracias de antemano por cualquier ayuda.

+0

¿Podría publicar los comandos que está ejecutando y sus mensajes de error resultantes? –

Respuesta

5

En términos no subversivos, desea integrar los cambios entre Vendor X release 1.0 y Vendor X release 1.1 en su trunk.

Crearía una sola rama Vendor X y usaría etiquetas para identificar los números de versión. Siempre que reciba una nueva versión de X de proveedor, revise la sucursal, copie los archivos de la nueva versión en su directorio de trabajo, aplique svn add y svn delete según corresponda, y confirme. Subversion ahora tiene la información de diferencia correcta para todo lo que X hizo durante las dos versiones. Después de eso, puede fusionar los cambios entre las últimas dos versiones de proveedores (también conocidas como las últimas revisiones de tweo en la rama X del proveedor) con el enlace troncal.

+0

Esto era lo que tenía que hacer. Gracias por tu guía. Enumeraré los pasos exactos que seguí a continuación. – RjOllos

2

En mi humilde opinión puede evitar la fusión. Aquí es:

  1. Crear rama 1.0
  2. Copy 1.0 a 1.1
  3. Realizar todos los cambios necesarios en 1.1
  4. Copy 1.1 al tronco.

Si usted insiste fusionar a continuación:

  1. Crear 1.0
  2. Copiar 1,0 al tronco
  3. Copiar 1,0 a 1,1
  4. Realizar cambios necesarios a 1,1
  5. Combinar cambios hacen a 1.1 a tronco. Los cambios son desde el inicio de 1.1 hasta su finalización.

This también quizá atento

+0

+1 para el enlace a la documentación –

1

La solución que siguió fue:

  1. Creado un comunicado/línea para el proveedor de software.
  2. Agregado Versión 1.0 al lanzamiento/línea.
  3. Despliegue ramificado/para crear tronco/y luego reemplazado tronco/con una copia de trabajo que contiene todos los cambios que hice después de Versión 1.0.
  4. Comprobó una copia de trabajo de la versión 1.0 y la agregó en la versión 1.1. Comprometido.
  5. Versión fusionada/en el tronco /. Sin conflicto de árbol o conflicto de fusión.
Cuestiones relacionadas