¿Cómo se puede usar KDiff3 correctamente con TortoiseSVN para resolver conflictos?


Tengo configurado TortoiseSVN para usar KDiff3 como herramienta de resolución de conflictos (encuentro que muestra más información útil para la fusión que la incorporada en TortoiseMerge).

Cuando abro un archivo con el comando "Editar conflictos" de Tortoise, me muestra los tres archivos y tengo que seleccionar "Fusionar->Fusionar archivo actual" manualmente. El problema es que KDiff3 guarda el resultado en source_file.working en lugar de en source_file. Así que sin hacer un Guardar Como, el archivo real con el conflicto no se modifica. Hay un manera alrededor de hacer este manual Guardar como cada vez?

Sé que esto no es estrictamente una pregunta de programación, pero se trata de un proceso auxiliar lo suficientemente común para los programadores que debería ser útil aquí. No pude encontrar la respuesta a esto en otra parte.

Author: bahrep, 2008-10-10

3 answers

El mío es un poco más largo:

"C:\Program Files\KDiff3\kdiff3.exe" %base %mine %theirs -o %merged --L1 Base --L2 Mine --L3 Theirs
 39
Author: Milen A. Radev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-14 10:28:08

En caso de que haya alguien más como yo, permítanme señalar que el suyo se hace en TortoiseSVN->Configuración->Visor de diferencias. Instalé KDiff3 en Windows con Tortoise ya instalado y se configuró automáticamente. Me llevó algún tiempo averiguar dónde tenía que hacerse esto.

 4
Author: Carlos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-10 23:36:20

Resulta que solo necesitaba una línea de comandos más específica. Lo tenía establecido simplemente en la ruta a kdiff3.exe, y esperaba que los argumentos predeterminados pasados desde TortoiseSVN fueran suficientes. No es así. Aquí está la que se necesita (la clave es el argumento -o):

C:\Program Files\KDiff3\kdiff3.exe %base %theirs %mine -o %merged
 3
Author: Owen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-10 18:29:03