private bool PreCommit_VerifyIssueTracker(PendingCommitState state) { IssueRepository iRepo = IssueService.CurrentIssueRepository; if (iRepo != null) { List <Uri> uris = new List <Uri>(); foreach (PendingChange pc in state.Changes) { uris.Add(pc.Uri); } PreCommitArgs args = new PreCommitArgs(uris.ToArray(), 1); args.CommitMessage = state.LogMessage; args.IssueText = state.IssueText; iRepo.PreCommit(args); if (args.Cancel) { return(false); } state.LogMessage = args.CommitMessage; // BA: It is IssueRepository's responsibility to reset IssueText value to // 1) null : if IssueRepository populated log message with the issue numbers, // 2) other: if the default AnkhSVN handling is desired (i.e. BugTraq settings). // if the value is set to null, it is probably good idea to set SkipIssueVerify to true state.IssueText = args.IssueText; if (args.SkipIssueVerify) { state.SkipIssueVerify = true; } foreach (KeyValuePair <string, string> kv in args.CustomProperties) { state.CustomProperties[kv.Key] = kv.Value; } } return(true); }