在git推送上显示ISubscriber TFS插件消息



我们使用带有git源代码管理的TFS 2013。我想强制执行一些规则,例如签入/提交消息格式。TFS不支持git服务器挂钩,所以我不得不通过实现ISubscriber接口来编写插件。

插件部分工作-git推送时会拒绝消息与regex规则不匹配的git提交。问题是-来自插件的自定义状态消息没有显示。唯一通用消息:

! [remote rejected] master -> master (The reference was rejected by a plugin.)
error: failed to push some refs to 'http://repo_server

是否可以在GIT推送时显示来自TFS插件的自定义消息?如果是,我做错了什么?

插件大部分是从这里复制的

提交消息验证的代码段:

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;
   }
}

目前似乎不可能:msdn论坛

TFS当前不支持修改返回到git客户端的消息。

最新更新