private void DoCommit(bool amend, bool push) { if (GitCommandHelpers.InTheMiddleOfConflictedMerge()) { MessageBox.Show(_mergeConflicts.Text, _mergeConflictsCaption.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (string.IsNullOrEmpty(Message.Text)) { MessageBox.Show(_enterCommitMessage.Text, _enterCommitMessageCaption.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (GitCommandHelpers.GetSelectedBranch().Equals("(no branch)", StringComparison.OrdinalIgnoreCase) && MessageBox.Show(_notOnBranch.Text, _notOnBranchCaption.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) return; try { SetCommitMessageFromTextBox(Message.Text); var form = new FormProcess(GitCommandHelpers.CommitCmd(amend, toolAuthor.Text)); form.ShowDialog(); NeedRefresh = true; if (form.ErrorOccurred()) return; Message.Text = string.Empty; if (push) { GitUICommands.Instance.StartPushDialog(true); } if (Settings.CloseCommitDialogAfterCommit) { Close(); return; } if (Unstaged.GitItemStatuses.Any(gitItemStatus => gitItemStatus.IsTracked)) { InitializedStaged(); return; } if (Settings.CloseCommitDialogAfterLastCommit) Close(); else InitializedStaged(); } catch (Exception e) { MessageBox.Show(string.Format("Exception: {0}", e.Message)); } }