update tortoise subversion subir descargar cambios borrar bajar archivo actualizar svn

tortoise - ¿Cómo puedo resolver un conflicto de combinación con las propiedades de SVN?



tortoise svn subir cambios (7)

Esto me ha estado molestando durante mucho tiempo: ¿cómo puedo resolver correctamente un conflicto de combinación dentro de las propiedades SVN establecidas en un directorio? Digamos, por ejemplo, que hay dos desarrolladores trabajando en un proyecto donde svn: ignore está establecido en algún directorio. Si ambos desarrolladores realizan cambios en esta propiedad, cuando la segunda se actualice, verán un conflicto de fusión.

A diferencia de los conflictos de combinación de archivos, se genera un único archivo en el directorio llamado "dir_conflicts.prej", que el segundo desarrollador debe leer y corregir manualmente. Por lo general, lo que termino haciendo es revertir todos mis cambios a la copia local, y luego volver a configurar estas propiedades de forma manual con la información en dir_conflicts.prej. Sin embargo, esto es bastante engorroso cuando se trata de una gran lista de URL en una propiedad svn: externals, como muchos de nuestros proyectos usan.

Tiene que haber una mejor manera de hacer esto, ¿alguien sabe cómo?


¿Te refieres a un conflicto de combinación en commit / update o branch merge?

El Libro SVN es bastante claro acerca de la propiedad svn: ignorar en particular:

Subversion no asume que cada archivo o subdirectorio en un directorio de copia de trabajo está destinado para el control de la versión. Los recursos deben colocarse explícitamente bajo la administración de Subversion usando los comandos svn add o svn import.

...

Obligar a cada usuario de ese repositorio a agregar patrones para esos recursos a sus áreas de configuración en tiempo de ejecución no sería solo una carga, sino que podría chocar con las necesidades de configuración de otras copias de trabajo que el usuario haya revisado.


Desearía poder ofrecer una solución más esperanzadora pero, según mi experiencia, actualmente no es posible fusionar las propiedades de svn con TortoiseSVN. Ver .


Mientras tanto, esto es posible en Eclipse + Subclipse (Indigo) usando la función

Equipo-> Editar Conflictos de Propiedad

(solo intenté con las propiedades conflictivas de svn: ignorar)

Esta función abre un cuadro de diálogo que muestra las dos versiones de propiedades (local y de repositorio), donde puede copiar y pegar, y luego resolver el conflicto usando Equipo-> Marcar como resuelto.


Para que quede claro, SVN parece usar el archivo dir_conflicts.prej para derivar el hecho de que el directorio tiene un conflicto. Si tiene la intención de abordar el conflicto manualmente, simplemente puede eliminar el archivo dir_conflicts.prej y luego establecer manualmente las propiedades svn como desee. (¡Por supuesto, asegúrese de obtener lo que necesita del archivo .prej antes de eliminarlo!)


Solo una actualización rápida después de algunas investigaciones adicionales: no es posible fusionar fácilmente las propiedades de SVN. Mi método originalmente descrito (revertir, combinar datos de archivos .prej, propset, re-commit) parece ser la mejor manera de lidiar con este tipo de problema.


Tuve un conflicto similar. Abrí dir_conflicts.prej en un editor de texto y vi que la svn ignore list había sido modificada. Afortunadamente, el contenido de la lista era el mismo, solo el orden cambió. Así que en TortoiseSVN 1.9.3 , simplemente hago clic derecho en la carpeta y luego TortoiseSVN -> Resolve... Y el conflicto fue arreglado.


Yo tuve el mismo problema.

Traté de usar Team-> Edit Property Conflicts pero mi STS fue colgado y no respondí, por lo que obligué a cerrar.

Es posible resolver con TortoiseSVN

Así es como lo resolví

  • seleccione la carpeta donde se encuentra el dir_conflicts.prej
  • haga clic derecho en TortoiseSVN -> Resolver ...
  • Luego pedirá resolver el conflicto de propiedad
  • Resuelve y guarda