2010-08-31 25 views
38

Espero fusionar mis códigos que desarrollé en una rama de SVN con el tronco. Estoy usando Eclipse y he estado usando Team-> Commit para enviar mis actualizaciones al SVN. Pero no he hecho una fusión antes. Por favor, ayúdame con esto. GraciasFusión de rama a tronco en SVN usando Eclipse

Respuesta

76
  1. Antes de nada, asegúrese de estar actualizado. Actualice su copia de trabajo de la rama de destino, es decir. donde te estás fusionando En este ejemplo, estamos trabajando en el tronco del "núcleo" y queremos aprovechar los cambios que han sucedido en la rama de mantenimiento y fusionarlos.
  2. Resuelva cualquier conflicto. No debe haber conflictos en esta etapa entre la copia de trabajo y el repositorio.
  3. Seleccione la opción de fusión SVN en la copia de trabajo. En Eclipse esto se encontrará en el menú "Equipo" y se llama "Merge Branch". SVN: fusión en Eclipse
  4. Cambie la URL From a la rama específica que desea fusionar en su copia de trabajo. En este ejemplo, estamos buscando la rama de mantenimiento p400 (./core/branches/p400).
  5. Cambie de la revisión a la última revisión que se fusionó en la rama de destino. Básicamente, no desea seguir fusionando todo el historial de sucursal, solo quiere incluir esos cambios desde la última vez que se fusionó. No hay una manera fácil de determinar el último punto de fusión en este momento en Subversion. Debe revisar el registro de mensajes y buscar el último compromiso que habla sobre la fusión. Si es disciplinado sobre los mensajes de compromiso que utiliza para fusionar esto, debería ser fácil (ver más abajo). Anote qué es esa revisión: la necesitará más tarde cuando realice los cambios. SVN: fusionarse con Eclipse
  6. Cambiar la revisión a la última (es decir, la cabecera). Anote qué es esa revisión: la necesitará más tarde cuando realice los cambios.
  7. Haga clic en Merge y espere. Dependiendo de cuán grandes sean las diferencias, esto puede ser rápido o de que Eclipse simplemente se caiga. Si tiene un cambio tan enorme que no puede hacerlo en Eclipse, puede que necesite reducir el rango de revisiones que está fusionando. O incluso puede que tenga que omitir ciertas revisiones y hacerlas manualmente si son masivas. Hemos tenido este problema de vez en cuando al actualizar grandes bibliotecas de terceros. La gran mayoría del tiempo estarás bien.
  8. Revise los cambios y resuelva los conflictos. Una vez que se complete la fusión, revise los cambios realizados en su copia de trabajo y asegúrese de resolver cualquier conflicto que encuentre.
  9. Una vez que se hayan resuelto todos los cambios en la copia de trabajo de destino, compruébalos con una única confirmación. La razón por la que no hace muchas confirmaciones es que estos son cambios que deberían haberse documentado en la rama desde la que se fusionó. El mensaje de compromiso debe estar en un formato específico que detalle la fusión y que sea fácil de encontrar en el futuro. Usamos el siguiente formato, pero puede usar cualquier cosa que le sirva, siempre y cuando la respete.

    Fusionando [fuente] a [objetivo]; [repositorio]. Fusionar rev [inicio]: [fin]

¡Disfrútalo!

+3

En contraste con subversivas (eclispe cliente SVN estándar que pienso?) Subclipse tiene buen cheques de mejores prácticas antes de la fusión;) solo ustedes saben .. –

0

Me gustaría agregar para el Punto 8. Revisar los cambios y resolver conflictos. ---

Al trabajar en conflictos manualmente, cuando copia de derecha a izquierda en trozos de código, tenga cuidado A veces se agrega un trozo de código, a veces reemplaza correctamente el trozo. Asegúrate de que no haya un fragmento duplicado de código.

Además, este es helpful-- What is the proper way to do a Subversion merge in Eclipse?

Cuestiones relacionadas