2009-06-30 81 views
11

Cada vez que surge un problema como un conflicto de fusión o algo similar, realmente me ralentiza.¿Manejar conflictos en SVN con Tortoise?

¿Puede alguien explicarme cómo forzar a resolver conflictos?

Por ejemplo, un amigo mío hizo una edición de un archivo en el repositorio y se comprometió. Mientras estaba haciendo eso, yo ya había cambiado el nombre de ese archivo y le hice muchas ediciones en mi copia de trabajo.

Cuando fui a comprometerme, obviamente recibí el error de conflicto. El archivo que editó ya no existe en mi copia de trabajo. ¿Cómo puedo decirle a SVN que simplemente deje de llorar por el conflicto y lo obligue a aceptar mi copia de trabajo (es decir, sobrescribir la revisión principal con mi copia de trabajo).

+0

me encontré con un video donde los conflictos se resuelven con Tortoise SVN se explica https://www.youtube.com/watch?v=ZmARaN5eb3U – Zlelik

Respuesta

0

La mejor manera de evitar que esto ocurra es actualizar antes de comprometerse.

+0

Bueno, ha acontecido y actualización o cometer Don no funcionará hasta que se resuelva. – KingNestor

+3

Para actualizar con frecuencia, de hecho. –

+0

¿Podemos retrotraer su compromiso de alguna forma? – KingNestor

5

Aquí es cómo lo hice:

  1. clic derecho en la carpeta de soluciones, haga clic TortoiseSVN -> Mostrar registro.
  2. Haga clic con el botón derecho en la revisión que desea revertir, seleccione "Revertir cambios desde esta revisión"
  3. Haga clic derecho en las carpetas en conflicto, seleccione "Resuelto".
  4. Commit su solución
  5. beneficio
+1

¿Y su amigo hace lo mismo con su compromiso de reparar su copia de trabajo? ;-) Yo sugeriría hablar con su amigo, confirmar los cambios lógicos pequeños y actualizar con frecuencia. –

+0

Lo que si he hecho cambios y el usuario impuestos los cambios confirmados y otros y me gustaría que el cambio de fusionarse con lo que he cometido? Estoy teniendo un pequeño revés con eso. – SearchForKnowledge

8

Al actualizar su copia de trabajo puede hacer clic derecho en la lista de registro y eligió la forma de resolver el conflicto:

  • determinación usando un editor/TortoiseMerge (o la herramienta de fusión que haya configurado)
  • resolver usando "theirs", es decir, la versión en el repositorio
  • resolver usando "mío", es decir, usted r versión del archivo.

Esto también funciona al eliminar archivos adecuadamente - es decir, que necesidad de eliminar el archivo usando SVN si quiere eliminar realidad desde el repositorio. Si eliminó el archivo por razones de conveniencia, es posible que desee svn revert antes de actualizar, ya que un archivo que falta en la copia de trabajo también es un archivo modificado (como era de esperar).

En resumen: no se puede decirle a svn "dejar de llorar" y simplemente sobrescribir con su copia de trabajo. Ésto es una cosa buena. Debe resolver el conflicto (lo que podría significar simplemente sobrescribir el estado actual), marcar los archivos afectados como resueltos (svn resolved) y luego confirmar el resultado.

0

Yo diría: la mejor manera de evitar que esto ocurra es actualizar antes de ... MODIFICAR el archivo. ¡Una vez que haya terminado con los cambios, los perderá si actualiza antes de comprometerse!

0

Aquí está: Si tiene dos paneles, solo puede editar el archivo en el panel derecho (Mine). Para aplicar los cambios realizados en el archivo de la izquierda (el suyo), haga clic con el botón derecho en las líneas modificadas y seleccione Menú contextual → Usar bloque de texto de 'ellos'. Luego, los cambios del archivo de la izquierda se agregan al archivo correcto.

A veces, realmente quiere ambos bloques de texto, y el menú contextual también le ofrece Menú contextual → Usar ambos bloques de texto (este primero) y Menú contextual → Usar ambos bloques de texto (este último).

Si estás en vista de tres paneles (a veces llamada vista de fusión) sólo se puede editar el archivo en la vista inferior (fusionada). Al igual que en vista de dos paneles, puede hacer clic derecho en las líneas de conflictos y seleccione → Utilizar bloque de texto menú contextual de 'ellos' o Menú contextual → Utilizar bloque de texto 'mío'. Además, si quiere ambos bloques, puede seleccionar Menú contextual → Utilizar bloque de texto 'mío' antes de 'ellos' o Menú contextual → Utilizar bloque de texto 'los suyos' antes de 'lo mío'. De acuerdo con el comando que ha seleccionado, los cambios se utilizan en el archivo fusionado resultante.

enlace Referencia: https://tortoisesvn.net/docs/nightly/TortoiseMerge_en/tmerge-dug-conflicts.html

Cuestiones relacionadas