2012-05-04 16 views
6

Si realizo una actualización en SVN que da como resultado un conflicto SVN me ofrece una gama de opciones para manejar el conflicto de cada archivo, incluyendo aceptar cualquier archivo, iniciar un programa de combinación externo o posponer la resolución del conflicto.SVN. Vuelva a intentar la resolución interactiva de conflictos

Si decido posponer la resolución del conflicto, ¿cómo puedo hacer que SVN repita el proceso de resolución de conflictos? Específicamente, ¿cómo puedo obtener SVN para volver a ofrecer la opción de aceptar un archivo o iniciar una herramienta de fusión externa?

[Actualización] En respuesta a las respuestas de Thomas y Skippy.

Gracias por las respuestas. Entonces, como parecía SVN no tiene un comando para volver a ejecutar el proceso de resolución de conflictos. Personalmente creo que apesta.

Una de las opciones del proceso de resolución de conflictos SVN es la opción de seleccionar qué archivo deseo conservar. Hacer esto dentro de SVN tiene la ventaja de que SVN maneja la copia y eliminación de los archivos apropiados, esto excluye la necesidad de que el usuario se meta directamente con el sistema de archivos y reduce la posibilidad de cometer un error.

Otra opción que ofrece el proceso de resolución de conflictos SVN es la opción de iniciar un editor de combinación externo. El editor que se inicia y cómo se configura se puede configurar dentro del archivo de configuración SVN. Esto es muy conveniente, ya que significa que el usuario no tiene que cargar manualmente los tres archivos en el editor de fusión externo.

Aparte de eso, simplemente no se ha codificado ¿hay alguna razón SVN no ofrece la posibilidad de reiniciar el proceso de resolución de conflictos? (Tal vez llamando a svn resolver con solo un argumento de ruta). Otra razón por la que esto sería bueno es que podría ofrecer la opción de resolver un archivo o función recursivamente en una copia de trabajo o subárbol dentro de una copia de trabajo.

+0

Exactamente, mata la comodidad de la opción no interactivo, para ahorrar tiempo de terminar la fusión y luego resolviendo :( – ronnyfm

Respuesta

2

en SVN 1.8.8 si ejecuta "resolver SVN" en archivo de interés, SVN ofrecerá la resolución de conflictos interactiva

2

Simplemente no puede conseguir que vuelva a ofrecer la opción. Usted no tiene más remedio los siguientes:

  • fusionar el texto en conflicto “a mano” (mediante el examen y la edición de los marcas de conflicto dentro del archivo).

  • Copie uno de los archivos temporales en la parte superior de su archivo de trabajo.

  • Ejecute svn revert para deshacerse de todos sus cambios locales.

vez que haya resuelto el conflicto, es necesario saber a Subversion por ejecutar svn resolved. Esto elimina los tres archivos temporales y Subversion ya no considera que el archivo está en un estado de conflicto . [6]

(de http://chestofbooks.com/computers/revision-control/subversion-svn/Postponing-Conflict-Resolution-Tour-Cycle-Resolve-Pending.html)

+0

Hay una cuarta opción: puede iniciar manualmente el programa de combinación con los archivos '.mine',' .rOLDREV' y '.rNEWREV', y con el nombre de archivo base (el archivo versionado) como resultado de fusión. Esto es lo que svn lo hace cuando inicia el programa de fusión externo. – george

0

SVN no le pedirá de nuevo. Sin embargo, cuando ejecuta svn stat desde la línea de comando, debería ver una lista de archivos en conflicto. Estos se marcarán con una "C", al igual que si hay un archivo modificado, aparece una "M" o si hay un archivo que no se ha agregado, aparece con un "?".

Ahora tiene que ejecutar manualmente svn resolve en cada uno de los archivos.

Cuestiones relacionadas