2008-10-10 5 views
26

J'ai TortoiseSVN mis en place pour utiliser KDiff3 comme outil de résolution de conflit (je trouve qu'il montre plus d'informations utiles à la fusion que ne le fait TortoiseMerge intégré). Lorsque j'ouvre un fichier avec la commande "Edit Conflicts" de Tortoise, il me montre les trois fichiers et je dois sélectionner "Merge-> Merge Current File" manuellement. Le problème est que KDiff3 enregistre le résultat à source_file.working au lieu de source_file. Donc, sans faire un Save As, le vrai fichier avec le conflit ne sera pas modifié. Y a-t-il un moyen de faire ce manuel? Enregistrer comme à chaque fois? Je sais que ce n'est pas strictement une question de programmation mais il s'agit d'un processus auxiliaire assez commun aux programmeurs pour qu'il soit utile ici. Je ne pouvais pas trouver la réponse à cela ailleurs.Comment KDiff3 peut-il être utilisé correctement avec TortoiseSVN pour résoudre les conflits?

+5

Ah, KDiff est une bombe! –

Répondre

38

mine est un peu plus:

"C:\Program Files\KDiff3\kdiff3.exe" %base %mine %theirs -o %merged --L1 Base --L2 Mine --L3 Theirs 
+1

Alors c'est! Et puisque je n'ai pas droit à la réponse crédit pour cette question, et vous étiez plus complet, vous y voilà. – Owen

+2

Je trouve que (pour moi au moins) les étiquettes peuvent être mises à quelque chose qui est (parfois) plus utile ainsi: - --L1 "Base:% base" --L2 "Mine:% mine" --L3 "Theirs:% theirs" –

+0

Cela fonctionne. Existe-t-il un moyen de faire en sorte que lorsque vous fermez l'éditeur KDiff3, le conflit soit résolu? Peut-être qu'il y a un cas d'utilisation qui fait qu'il est utile de faire quelque chose avant de choisir manuellement "Marquer comme résolu", mais ce serait bien de ne pas avoir cette dernière étape. – Skychan

3

Il s'avère que j'avais juste besoin d'une ligne de commande plus spécifique. Je l'ai fait définir simplement le chemin à kdiff3.exe, et espérait que les arguments par défaut passés de TortoiseSVN suffiraient. Pas si. Voici celle nécessaire (la clé étant l'argument -o):

C:\Program Files\KDiff3\kdiff3.exe %base %theirs %mine -o %merged 
3

Dans le cas où il y a quelqu'un d'autre comme moi, permettez-moi de son est fait dans TortoiseSVN -> Paramètres-> Diff Viewer. J'ai installé KDiff3 dans Windows avec Tortoise déjà installé et il a été configuré automatiquement. Il m'a fallu du temps pour comprendre où cela devait être fait.

Questions connexes