Pregunta

Estoy bastante utilizado a cómo hacer CVS se funde en Eclipse, y estoy feliz de otra manera con la forma en que ambos Subclipse y Subversivo de trabajo con el repositorio SVN, pero no estoy muy seguro de cómo hacer fusiona correctamente.

Cuando hago una combinación, parece que quiere meter la fusión de los archivos en un directorio separado en mi proyecto, en vez de sobrescribir los archivos antiguos que se va a reemplazar en la fusión, como estoy acostumbrado en el CVS.

La pregunta no es particular, ya sea Subclipse o Subversivo.

Gracias por la ayuda!

¿Fue útil?

Solución

Yo aconsejaría no estoy tratando de utilizar Eclipse de plugins como el principal acceso a la Subversión.

Si está desarrollando en Windows, TortoiseSVN es el mejor programa que he visto para la Subversión de acceso.Explorar el directorio de la que desea combinar, haga clic derecho en él y utilizar el Tortoise SVN merge opción.Suponiendo que no interactivo de mezcla, una vez que los conflictos, vas a tener que ir a través de cada archivo en conflicto y editar los conflictos antes de marcar como resuelto.Para este proceso, te recomiendo un programa llamado KDiff3, que muestra su repositorio local de copia (lo que está guardado en la .svn antes de la fusión), la copia local (incluyendo cualquier modificación), y la copia que viene desde el repositorio, y le permite ver fácilmente (y aun de la mano-modificar si es necesario) el resultado de la fusión.También maneja un montón de pequeños conflictos de forma automática.

KDiff3 es portátil, TortoiseSVN es una extensión de shell de windows, por lo que si usted está usando otro medio, yo trato de usar SVN para combinar.Pero que sería de mucho más de un dolor :)

Otros consejos

La fusión de toda una rama en el tronco

  1. Inspeccionar la Rama de historia del proyecto para determinar la versión de que la rama fue tomada

    • por defecto el Equipo Eclipse "Historia" sólo muestra el pasado 25 de revisiones, de modo que usted tendrá que hacer clic en el botón que ver con la etiqueta "Mostrar Todos"
    • cuando usted dice "Mostrar Todo" que le llevará más allá de la rama de la fecha y mostrar toda la historia de la cajuela así por lo que tendrás que buscar por tu comentario donde bifurcado
    • NOTA:si utiliza Tortise SVN para esta misma tarea (desplazarse a la sucursal y seleccione "Mostrar Registro") se mostrará sólo la rama de historia, así que usted puede decir exactamente donde la rama comenzó
  2. Así que ahora sé que 82517 fue la primera versión de IDENTIFICACIÓN de la rama de la historia.Para todas las versiones de la rama pasado 82517 cambios que quiero combinar en el tronco

  3. Ahora vaya a la "tronco" del proyecto en su espacio de trabajo de Eclipse y seleccione "haga clic derecho - Equipo - Merge"

  4. La vista predeterminada es la 1 de la dirección url de mezcla

    • seleccione la dirección URL de la rama desde la que la fusión de
    • en Revisiones, seleccione "All"
    • pulse OK
  5. Esto le llevará al "Equipo de Sincronización" perspectiva (si no hay que ir allí a sí mismo) con el fin de resolver los conflictos (ver más abajo)

Re-Fusión de más cambios en la rama en el tronco

  1. Insepct el tronco de la historia del proyecto para determinar la última vez que se fusionaron en el tronco (que debería haber comentado esto)

    • por el bien del argumento, vamos a decir que esta versión fue 82517
  2. Así que ahora sé que cualquier versión superior a 82517 en la rama de las necesidades que se fusionaron en el tronco

  3. Ahora vaya a la "tronco" del proyecto en su espacio de trabajo de Eclipse y seleccione "haga clic derecho - Equipo - Merge"

  4. La vista predeterminada es la 1 de la dirección url de mezcla

    • seleccione la dirección URL de la rama desde la que la fusión de
    • en Revisiones seleccione "Revisiones" botón de opción y haga clic en "Examinar"
    • esto abrirá una lista de las últimas 25 rama de revisiones
    • seleccione todas las revisiones con un número mayor que 82517
    • pulse OK (se debe ver la lista de revisión en el campo de entrada al lado del botón de radio)
    • pulse OK
  5. Esto le llevará al "Equipo de Sincronización" perspectiva (si no hay que ir allí a sí mismo) con el fin de resolver los conflictos (ver más abajo)

La Resolución De Los Conflictos

  1. Usted debe de estar en el "Equipo de Sincronización" perspectiva.Esto se parece a ninguna sincronización regular para cometer los efectos donde puede ver los archivos nuevos y los archivos que tienen conflictos.

  2. Para cada tipo de archivo donde se ve un conflicto seleccione "haga clic derecho - Editar los Conflictos" (no haga doble clic en el archivo, se abrirá el cometer diff versión de la herramienta, esto es MUY diferente)

    • si ves cosas como "<<<<<<< .de trabajo" o ">>>>>>> .combinación de derecha.r84513" entonces usted está en el lugar equivocado en el modo de edición
  3. una vez que haya resuelto todos los conflictos en ese archivo, es decir el archivo "marcar como fusionados"

  4. una vez que todos los archivos están libres de conflictos usted puede, a continuación, sincronizar tu proyecto de Eclipse y cometer los archivos SVN

Me suelen retirar ambas ramas y, a continuación, utilizar la comparación para cada otra opción que hace un sincronizar-como comparar de los dos árboles de código fuente.Después de integrar los cambios en una rama, puede renovar el compromiso de vuelta al almacén.

El uso de la integración con Eclipse, funciona perfectamente bien.

El cambio principal de CVS, es que sólo de combinación de los deltas de una rama, es decir, cambios de una versión a otra.Es decir, usted tiene que seguir el correcto inicio de la revisión de alguna manera (a menos que tenga svn 1.5 combinación de historia)

Si en eso tienes razón, es sólo para usted para obtener los cambios de comparar con el editor.

En primer lugar, si usted está viendo ">>>>>" y que en sus archivos cuando los ve en Eclipse, esto probablemente significa que usted no está mirando el archivo con el adecuado comparar el editor.Intente hacer clic derecho sobre el archivo en la vista de Proyecto o Sincronizar vista y seleccionando "Editar Conflictos" para que aparezca una comparación editor que le mostrará el conflicto regiones gráficamente en lugar de como texto.Tenga en cuenta que al comparar el editor que viene por "Conflictos de Edición" es diferente de la que usted consigue cuando usted simplemente haga doble clic en un archivo en Sincronizar la vista -- el doublieclick comparar editor muestra las diferencias entre el archivo actual y la forma en la que existía cuando la última comprobado o actualizado, mientras que los Conflictos de Edición comparar el cuadro de diálogo muestra las diferencias entre dos fuentes de cambios (por ejemplo, los cambios que combinados frente a los cambios que existía en su área de trabajo antes de fusionarse).

En segundo lugar, usted puede estar consciente de un error en algunas versiones de Eclipse subversivo plugin que hace que todos los archivos que aceptan combinación de cambios para ser marcados incorrectamente como tener conflictos.Este error ha sido corregido, pero un montón de gente parece que no se han actualizado a obtener la revisión aún.Más detalles aquí:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=312585

Recuerde que con svn revertir un árbol modificado a un estado limpio es bastante fácil.Simplemente tener un espacio de trabajo limpio en la mezcla de destino de la rama y ejecutar el comando combinar para importar las modificaciones de la combinación de la fuente de rama, a continuación, sincronizar su área de trabajo y tendrá su habitual eclipse comparación de la ventana que muestra todos los fusionar los archivos modificados y los conflictos.

Si por alguna razón usted no puede resolver los conflictos que pueden svn revert en el proyecto y volver a un estado limpio, de lo contrario hacer la mezcla en el lugar y una vez que haya terminado usted puede cometer.Tenga en cuenta que usted no tiene que confiar, una vez que haya terminado el manejo de los conflictos también pueden regresar a la dev vista, compruebe que el código se compila, ejecuta su unidad de pruebas, lo que sea y, a continuación, sincronizar de nuevo y commit (una vez que el conflicto se localmente resuelto que no va a volver)

la última vez que me veía, cuando se utiliza subclipse comando de combinación de sobrescribirá el archivo combinado (utilizando marcadores de conflicto para mostrar zonas conflictivas) y poner el original a la izquierda y a la derecha de la combinación en el mismo lugar.no debe poner nada en directorios diferentes.

Como regla general, es mejor cometer toda combinación de modificaciones en una sola cometer y sólo tienen la combinación de modificaciones en la confirmación de modo que usted puede deshacer la combinación más tarde si es necesario.

openCollabNet la herramienta de combinación de subclipse es bastante limpio.Hay muchos fusión de los tipos disponibles y la combinación me acaba de realizar con ella cuando a la perfección.Se los recomiendo.

La única cosa que syncrhonize ver en eclipse se carece de capacidad de registro.En el Equipo de sincronización de vista puedo ver todos mis cambios y resolver conflictos, por lo que sería más intuitiva para el check-in allí en lugar de volver a java ver y hacer el check-in.

Aterricé aquí, porque yo estaba buscando una manera de combinar en una mezcla externa editor (KDIFF3) pero el inicio de la mezcla a partir de eclipse.Yo no estaba satisfecho con las respuestas que se dieron anteriormente.Así que aquí es ho para configurar kdiff3 como combinar y diff editor de SVN en eclipse:

ir a Windows -> Preferences → Equipo -> SVN -> Visor de diferencias Agregar una nueva configuración (botón añadir):Extensión o mimetype:* - si lo desea, puede especificar diferentes mimetypes para los diferentes editores, no tenía la necesidad de que por el alquantor.

Diff:Ruta de acceso del programa C:\Program Files\KDiff3\kdiff3.exe (o dondequiera que usted tiene la combinación de editor - sry por la ruta de windows, siéntase libre de añadir una versión de linux en los comentarios o editar esta respuesta.)

Argumentos:${base} ${mina} ${ellos}

Combinación de:Ruta de acceso del programa C:\Program Files\KDiff3\kdiff3.exe

Argumentos:${base} ${mina} ${ellos} -o ${fusionado}

Esto probablemente va a funcionar igual de bien para los demás combinación de los editores, pero con un argumento diferente de la sintaxis (la figura es un háganoslo saber :) ).

El uso es, como de costumbre (equipo->conflictos de edición) para la fusión y comparar->foo para la vista de diff.

Saludos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top