public static bool SolveKDiffPath(GitCommands.GitCommands gitCommands)
{
if (!Settings.RunningOnWindows())
return false;
string kdiff3path = gitCommands.GetGlobalSetting("mergetool.kdiff3.path");
if (string.IsNullOrEmpty(kdiff3path) || !File.Exists(kdiff3path))
{
kdiff3path = @"c:\Program Files\KDiff3\kdiff3.exe";
if (string.IsNullOrEmpty(kdiff3path) || !File.Exists(kdiff3path))
{
kdiff3path = @"c:\Program Files (x86)\KDiff3\kdiff3.exe";
if (string.IsNullOrEmpty(kdiff3path) || !File.Exists(kdiff3path))
{
kdiff3path = GetRegistryValue(Registry.LocalMachine, "SOFTWARE\\KDiff3", "") + "\\kdiff3.exe";
if (string.IsNullOrEmpty(kdiff3path) || !File.Exists(kdiff3path))
{
kdiff3path = "";
return false;
}
}
}
}
gitCommands.SetGlobalSetting("mergetool.kdiff3.path", kdiff3path);
return true;
}