public static bool SolveKDiff() { GitCommands.GitCommands gitCommands = new GitCommands.GitCommands(); string mergeTool = gitCommands.GetGlobalSetting("merge.tool"); if (string.IsNullOrEmpty(mergeTool)) { mergeTool = "kdiff3"; gitCommands.SetGlobalSetting("merge.tool", mergeTool); } if (mergeTool.Equals("kdiff3", StringComparison.CurrentCultureIgnoreCase)) return SolveKDiffPath(gitCommands); return true; }
private void DiffTool_Click(object sender, EventArgs e) { GitCommands.GitCommands gitCommands = new GitCommands.GitCommands(); if (string.IsNullOrEmpty(gitCommands.GetGlobalSetting("merge.tool"))) { if (MessageBox.Show("There is no mergetool configured. Do you want to configure kdiff3 as your mergetool?" + Environment.NewLine + "Select no if you want to configure a different mergetool yourself.", "Mergetool", MessageBoxButtons.YesNo) == DialogResult.Yes) { SolveKDiff(); GlobalMergeTool.Text = "kdiff3"; } else { tabControl1.SelectTab("GlobalSettingsPage"); return; } } if (gitCommands.GetGlobalSetting("merge.tool").Equals("kdiff3", StringComparison.CurrentCultureIgnoreCase)) { SolveKDiffPath(gitCommands); } else if (gitCommands.GetGlobalSetting("merge.tool").Equals("p4merge", StringComparison.CurrentCultureIgnoreCase) || gitCommands.GetGlobalSetting("merge.tool").Equals("TortoiseMerge", StringComparison.CurrentCultureIgnoreCase)) { AutoConfigMergeToolcmd(); gitCommands.SetGlobalSetting("mergetool." + gitCommands.GetGlobalSetting("merge.tool") + ".cmd", MergeToolCmd.Text); } if (gitCommands.GetGlobalSetting("merge.tool").Equals("kdiff3", StringComparison.CurrentCultureIgnoreCase) && string.IsNullOrEmpty(gitCommands.GetGlobalSetting("mergetool.kdiff3.path"))) { MessageBox.Show("Path to kdiff3 could not be found automatically." + Environment.NewLine + "Please make sure KDiff3 is installed or set path manually."); tabControl1.SelectTab("GlobalSettingsPage"); return; } Rescan_Click(null, null); }
private bool Save() { GitCommands.Settings.Smtp = SmtpServer.Text; GitCommands.Settings.GitDir = GitPath.Text; GitCommands.Settings.GitBinDir = GitBinPath.Text; GitCommands.Settings.CloseProcessDialog = CloseProcessDialog.Checked; GitCommands.Settings.ShowRevisionGraph = ShowRevisionGraph.Checked; GitCommands.Settings.ShowGitCommandLine = ShowGitCommandLine.Checked; GitCommands.Settings.UseFastChecks = UseFastChecks.Checked; GitCommands.Settings.RelativeDate = ShowRelativeDate.Checked; GitCommands.Settings.Dictionary = Dictionary.Text; GitCommands.Settings.MaxCommits = (int)MaxCommits.Value; GitCommands.Settings.Plink = PlinkPath.Text; GitCommands.Settings.Puttygen = PuttygenPath.Text; GitCommands.Settings.Pageant = PageantPath.Text; GitCommands.Settings.AutoStartPageant = AutostartPageant.Checked; EnableSettings(); if (!CanFindGitCmd()) { if (MessageBox.Show("The path to git.cmd is not configured correct." + Environment.NewLine + "You need to set the correct path to be able to use GitExtensions." + Environment.NewLine + Environment.NewLine + "Do you want to set the correct path now?", "Incorrect path", MessageBoxButtons.YesNo) == DialogResult.Yes) return false; } else { GitCommands.GitCommands gitCommands = new GitCommands.GitCommands(); GitCommands.GitCommands.SetSetting("user.name", UserName.Text); GitCommands.GitCommands.SetSetting("user.email", UserEmail.Text); GitCommands.GitCommands.SetSetting("core.editor", Editor.Text); GitCommands.GitCommands.SetSetting("merge.tool", MergeTool.Text); if (KeepMergeBackup.CheckState == CheckState.Checked) GitCommands.GitCommands.SetSetting("mergetool.keepBackup", "true"); else if (KeepMergeBackup.CheckState == CheckState.Unchecked) GitCommands.GitCommands.SetSetting("mergetool.keepBackup", "false"); GitCommands.GitCommands.SetSetting("core.autocrlf", LocalAutoCRLF.SelectedItem as string); gitCommands.SetGlobalSetting("user.name", GlobalUserName.Text); gitCommands.SetGlobalSetting("user.email", GlobalUserEmail.Text); gitCommands.SetGlobalSetting("core.editor", GlobalEditor.Text); gitCommands.SetGlobalSetting("merge.tool", GlobalMergeTool.Text); if (!string.IsNullOrEmpty(GlobalMergeTool.Text)) gitCommands.SetGlobalSetting("mergetool." + GlobalMergeTool.Text + ".path", MergetoolPath.Text); if (!string.IsNullOrEmpty(GlobalMergeTool.Text)) gitCommands.SetGlobalSetting("mergetool." + GlobalMergeTool.Text + ".cmd", MergeToolCmd.Text); if (GlobalKeepMergeBackup.CheckState == CheckState.Checked) gitCommands.SetGlobalSetting("mergetool.keepBackup", "true"); else if (GlobalKeepMergeBackup.CheckState == CheckState.Unchecked) gitCommands.SetGlobalSetting("mergetool.keepBackup", "false"); gitCommands.SetGlobalSetting("core.autocrlf", GlobalAutoCRLF.SelectedItem as string); } if (OpenSSH.Checked) GitCommands.GitCommands.UnSetSsh(); if (Putty.Checked) GitCommands.GitCommands.SetSsh(PlinkPath.Text); if (Other.Checked) GitCommands.GitCommands.SetSsh(OtherSsh.Text); GitCommands.Settings.SaveSettings(); return true; }
private void Ok_Click(object sender, EventArgs e) { GitCommands.GitCommands gitCommands = new GitCommands.GitCommands(); GitCommands.GitCommands.SetSetting("user.name", UserName.Text); GitCommands.GitCommands.SetSetting("user.email", UserEmail.Text); GitCommands.GitCommands.SetSetting("core.editor", Editor.Text); GitCommands.GitCommands.SetSetting("merge.tool", MergeTool.Text); if (KeepMergeBackup.Checked) GitCommands.GitCommands.SetSetting("mergetool.keepBackup", "true"); else GitCommands.GitCommands.SetSetting("mergetool.keepBackup", "false"); gitCommands.SetGlobalSetting("user.name", GlobalUserName.Text); gitCommands.SetGlobalSetting("user.email", GlobalUserEmail.Text); gitCommands.SetGlobalSetting("core.editor", GlobalEditor.Text); gitCommands.SetGlobalSetting("merge.tool", GlobalMergeTool.Text); if (GlobalKeepMergeBackup.Checked) gitCommands.SetGlobalSetting("mergetool.keepBackup", "true"); else gitCommands.SetGlobalSetting("mergetool.keepBackup", "false"); GitCommands.Settings.MaxCommits = (int)MaxCommits.Value; Close(); }