我们正在使用带有git源代码控制的TFS 2013。我想强制执行一些规则,对于初学者签入/提交消息格式。 TFS不支持git服务器挂钩,所以我必须通过实现ISubscriber接口来编写插件。
插件部分工作 - 在git push上拒绝git提交与不匹配正则规则的消息。问题是 - 不显示插件的自定义状态消息。只有通用消息:
! [remote rejected] master -> master (The reference was rejected by a plugin.)
error: failed to push some refs to 'http://repo_server
是否可以在GIT推送时显示来自TFS插件的自定义消息?如果是的话,我做错了什么?
插件主要是从here
复制的提交邮件验证的代码段:
var regex = new Regex(@"regex");
foreach (var item in pushNotification.IncludedCommits)
{
var gitCommit = (TfsGitCommit)repository.LookupObject(requestContext, item);
string comment = gitCommit.GetComment(requestContext);
if (!regex.IsMatch(comment))
{
statusCode = 1;
statusMessage = "Wrong commit message format. Proper message: sample_message";
return EventNotificationStatus.ActionDenied;
}
}