public string GetCommitMessage(IntPtr hParentWnd, string parameters, string commonRoot, string[] pathList, string originalMessage) { var hwnd=hParentWnd != IntPtr.Zero ? new Win32Window(hParentWnd) : null; try { rootpath = commonRoot; this.parameters = new ParseParameters(this, hwnd, parameters); if (VCSAuthor == null) { string VCSUser_ = callBEcmd(rootpath, new string[1] { "vcs get_user_id" })[0]; if (-1 != VCSUser_.IndexOf("RESULT:")) this.parameters.DefaultAuthor = VCSAuthor = VCSUser_.Substring(VCSUser_.IndexOf("RESULT:") + 8); } var form = new IssuesForm(this, commonRoot, originalMessage); if (form.ShowDialog(hwnd) != DialogResult.OK) return originalMessage; var issues = form.selectedIssues(); if (issues.Count == 0) return originalMessage; string result = originalMessage+"\n\n"; foreach (var issue in issues) result += "* Issue " + issue.shortname + " (" + issue.summary + ") fixed.\n"; return result; } catch (Exception e) { MessageBox.Show(hwnd, e.ToString()); throw; } }