我可以发送带外数据和提交吗?

时间:2013-07-22 12:04:39

标签: git authentication githooks rtc

我希望将远程git存储库与RTC服务器集成,方法是使用RESTful接口将链接附加到gitweb以获取与特定任务相关联的提交。

理想情况下,这将通过git服务器上的post-receive挂钩完成,但git运行的处理用户不允许用户帐户向RTC进行身份验证。

我能想到的最好的解决方案是以某种方式传递一个身份验证令牌(以cookies.txt的形式从RTC中获取)以及git push(但没有将它作为提交的一部分)。

替代方案是每个客户端存储库上的后推钩,但它有自己的问题(包括没有这样的钩子)。

1 个答案:

答案 0 :(得分:5)

使用git 2.10及更高版本,您可以使用git --push-option <string>将给定的字符串值传递给服务器,服务器将它们传递给pre-receive和post-receive钩子。 git push documentation

git push --push-option = ...命令行中给出的推送选项数可以从环境变量GIT_PUSH_OPTION_COUNT中读取,选项本身可以在GIT_PUSH_OPTION_0,GIT_PUSH_OPTION_1中找到,......如果是协商不使用推送选项阶段,环境变量将不会被设置。如果客户端选择使用推送选项但不传输任何选项,则count变量将设置为零,GIT_PUSH_OPTION_COUNT = 0. git hook documentation

相关问题