private void OkClick(object sender, EventArgs e) { try { if (RevisionGrid.GetRevisions().Count != 1) { MessageBox.Show("Select 1 revision to checkout.", "Checkout"); return; } var command = "checkout \"" + RevisionGrid.GetRevisions()[0].Guid + "\""; if (Force.Checked) { command += " --force"; } new FormProcess(command).ShowDialog(); Close(); } catch (Exception ex) { Trace.WriteLine(ex.Message); } }
private void RevisionGridSelectionChanged(object sender, EventArgs e) { try { Cursor.Current = Cursors.WaitCursor; DiffFiles.GitItemStatuses = null; var revisions = RevisionGrid.GetRevisions(); if (revisions.Count == 1) { DiffFiles.GitItemStatuses = GitCommandHelpers.GetDiffFiles( revisions[0].Guid, revisions[0].ParentGuids[0]); } if (revisions.Count == 2) { DiffFiles.GitItemStatuses = GitCommandHelpers.GetDiffFiles( revisions[0].Guid, revisions[1].Guid); } } catch (Exception ex) { Trace.WriteLine(ex.Message); } Cursor.Current = Cursors.Default; }
private void Ok_Click(object sender, EventArgs e) { try { if (RevisionGrid.GetRevisions().Count != 1) { MessageBox.Show(_selectOneRevision.Text, _branchCaption.Text); return; } new FormProcess(GitCommandHelpers.BranchCmd(BName.Text, RevisionGrid.GetRevisions()[0].Guid, CheckoutAfterCreate.Checked)).ShowDialog(); Close(); } catch { } }
private void CherryPick_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; if (RevisionGrid.GetRevisions().Count != 1) { MessageBox.Show("Select 1 revision to pick.", "Cherry pick"); return; } bool formClosed = false; string arguments = ""; bool IsMerge = GitCommandHelpers.IsMerge(RevisionGrid.GetRevisions()[0].Guid); if (IsMerge && !autoParent.Checked) { GitRevision[] ParentsRevisions = GitCommandHelpers.GetParents(RevisionGrid.GetRevisions()[0].Guid); var choose = new FormCherryPickMerge(ParentsRevisions); choose.ShowDialog(); if (choose.OkClicked) { arguments = "-m " + (choose.ParentsList.SelectedItems[0].Index + 1); } else { formClosed = true; } } else if (IsMerge) { arguments = "-m 1"; } if (!formClosed) { MessageBox.Show("Command executed " + Environment.NewLine + GitCommandHelpers.CherryPick(RevisionGrid.GetRevisions()[0].Guid, AutoCommit.Checked, arguments), "Cherry pick"); MergeConflictHandler.HandleMergeConflicts(); RevisionGrid.RefreshRevisions(); Cursor.Current = Cursors.Default; } }
private void ViewSelectedFileDiff() { Cursor.Current = Cursors.WaitCursor; if (DiffFiles.SelectedItem == null) { return; } Patch selectedPatch; var revisions = RevisionGrid.GetRevisions(); if (revisions.Count == 2) { selectedPatch = GitCommandHelpers .GetSingleDiff( revisions[0].Guid, revisions[1].Guid, DiffFiles.SelectedItem.Name, DiffFiles.SelectedItem.OldName, diffViewer.GetExtraDiffArguments()); } else { var revision = revisions[0]; selectedPatch = GitCommandHelpers .GetSingleDiff( revision.Guid, revision.ParentGuids[0], DiffFiles.SelectedItem.Name, DiffFiles.SelectedItem.OldName, diffViewer.GetExtraDiffArguments()); } diffViewer.ViewPatch(selectedPatch != null ? selectedPatch.Text : ""); Cursor.Current = Cursors.Default; }
private void FormatPatch_Click(object sender, EventArgs e) { if (SaveToDir.Checked && string.IsNullOrEmpty(OutputPath.Text)) { MessageBox.Show("You need to enter an output path."); return; } if (!SaveToDir.Checked && string.IsNullOrEmpty(MailAddress.Text)) { MessageBox.Show("You need to enter an email address."); return; } if (!SaveToDir.Checked && string.IsNullOrEmpty(MailSubject.Text)) { MessageBox.Show("You need to enter a mail subject."); return; } if (!SaveToDir.Checked && string.IsNullOrEmpty(Settings.Smtp)) { MessageBox.Show("You need to enter a valid smtp in the settings dialog."); return; } string savePatchesToDir = OutputPath.Text; if (!SaveToDir.Checked) { savePatchesToDir = Settings.WorkingDirGitDir() + "\\PatchesToMail"; if (Directory.Exists(savePatchesToDir)) { foreach (string file in Directory.GetFiles(savePatchesToDir, "*.patch")) { File.Delete(file); } } else { Directory.CreateDirectory(savePatchesToDir); } } string rev1 = ""; string rev2 = ""; string result = ""; if (RevisionGrid.GetRevisions().Count > 0) { if (RevisionGrid.GetRevisions().Count == 1) { rev1 = RevisionGrid.GetRevisions()[0].ParentGuids[0]; rev2 = RevisionGrid.GetRevisions()[0].Guid; result = GitCommandHelpers.FormatPatch(rev1, rev2, savePatchesToDir); } if (RevisionGrid.GetRevisions().Count == 2) { rev1 = RevisionGrid.GetRevisions()[0].ParentGuids[0]; rev2 = RevisionGrid.GetRevisions()[1].Guid; result = GitCommandHelpers.FormatPatch(rev1, rev2, savePatchesToDir); } if (RevisionGrid.GetRevisions().Count > 2) { int n = 0; foreach (GitRevision revision in RevisionGrid.GetRevisions()) { n++; rev1 = revision.ParentGuids[0]; rev2 = revision.Guid; result += GitCommandHelpers.FormatPatch(rev1, rev2, savePatchesToDir, n); } } } else if (string.IsNullOrEmpty(rev1) || string.IsNullOrEmpty(rev2)) { MessageBox.Show("You need to select 2 revisions", "Patch error"); return; } if (!SaveToDir.Checked) { if (SendMail(savePatchesToDir)) { result += "\n\nSend to: " + MailAddress.Text; } else { result += "\n\nFailed to send mail."; } //Clean up if (Directory.Exists(savePatchesToDir)) { foreach (string file in Directory.GetFiles(savePatchesToDir, "*.patch")) { File.Delete(file); } } } MessageBox.Show(result, "Patch result"); Close(); }