How to configure kdiff3 in Visual Studio 2012
Asked Answered
S

1

1

I am a long time user of KDiff 3 and have upgraded to Visual Studio 2012. I want to use KDiff3 as my default compare and merge tool in Visual Studio 2012.

  1. I go into Tools > Options > Source Control > Subversion User Tools,

  2. I get an External Diff Tool C:\Program Files\KDiff3\kdiff3.exe and external merge tool C:\Program Files\KDiff3\kdiff3.exe.

    There is a (...) button takes me to macros that show $(Base) and $(Theirs), but that doesn't seem to get the comparison working. In Visual Studio 2010 we had a spot to put the command arguments, but that does not seem to be the case anymore.

What should I enter for External Diff Tool or External Merge Tool?

Superpose answered 16/9, 2014 at 13:44 Comment(0)
T
1

You should be able to choose KDiff3 in the dropdown. Normally you are not required to configure AnkhSVN to use KDiff3 manually. However it seems that automatic detection of whether KDiff3 is installed is broken in AnkhSVN. Tried with

  • Visual Studio 2013,
  • AnkhSVN 2.5.12471.17,
  • KDiff 0.9.98 (32-bit and 64-bit).

KDiff3 Not Found

I'm able to solve this by clicking on ... and replacing the path with the macros "$(ProgramFiles)\KDiff3.exe" with the complete path to KDiff3.exe executable on filesystem.

Tellurion answered 17/9, 2014 at 12:2 Comment(3)
The $(ProgramFiles) variable (or whatever you should call it) probably refers to the program files (x86) directory on 64-bit systems. KDiff is installed in the default (x64) program files directory. As far as I can see, there isn't a variable for the other one.Apollyon
Thank you for all of your help folks. This did help me a lot. It turns out that I was looking in the wrong directory for kdiff3. Also, I had to tweak the arguments that I past. For External Diff Tool: "$(ProgramFiles)\KDiff3\kdiff3.exe" "$(Base)" --fname "$(BaseName)" "$(Mine)" --fname "$(MineName)" The Exteranl Merge Tool: "$(ProgramFiles)\KDiff3\kdiff3.exe" -m "$(Base)" --L1 "$(BaseName)" "$(Theirs)" --L2 "$(TheirName)" "$(Mine)" --L3 "$(MineName)" -o "$(Merged)"Superpose
I was going to reply to the first comment and almost fell off my chair when I saw it was mine. So 2 years later I am once again configuring Ankh SVN to use Kdiff3. Anyway, there is a variable for the 64-bit program files folder, namely $(ProgramW6432). Source: https://mcmap.net/q/928038/-msbuild-and-programfiles-issue-with-32-64-bitsApollyon

© 2022 - 2024 — McMap. All rights reserved.