How can KDiff3 be used properly with TortoiseSVN to resolve conflicts?
-
08-07-2019 - |
Question
I have TortoiseSVN set up to use KDiff3 as the conflict resolution tool (I find it shows more information useful to the merge than the built-in TortoiseMerge does).
When I open a file with Tortoise's "Edit Conflicts" command it shows me the three files and I have to select "Merge->Merge Current File" manually. The problem is that KDiff3 saves the result to source_file.working
instead of to source_file
. So without doing a Save As, the real file with the conflict doesn't get modified. Is there a way around doing this manual Save As every time?
I know this isn't strictly a programming question but it's about an ancillary process common enough to programmers that it should be useful here. I couldn't find the answer to this elsewhere.
Solution
Mine is a bit longer:
"C:\Program Files\KDiff3\kdiff3.exe" %base %mine %theirs -o %merged --L1 Base --L2 Mine --L3 Theirs
OTHER TIPS
In case there's someone else like me, let me point out his is done in TortoiseSVN->Settings->Diff Viewer. I installed KDiff3 in Windows with Tortoise already installed and it got configured automatically. It took me some time to figure out where this needed to be done.
Turns out I just needed a more specific command line. I had it set simply to the path to kdiff3.exe
, and hoped the default arguments passed from TortoiseSVN would be enough. Not so. Here's the one needed (the key being the -o
argument):
C:\Program Files\KDiff3\kdiff3.exe %base %theirs %mine -o %merged
I had the same problem, but could solve it without any command line: when I clicked "Edit Conflicts" kdiff3 opend up. After solving the conflict I simply clicked "save" and closed the kdiff3 window. After the window was closed I switched back to the SVN "resolve confict"- window and clicked resolved. Then the next conflict popped up....