我不确定这是否是一种疯狂的东西,但我知道某些回购(例如Atlassian Stash)允许你设置远程git钩子。我们有各种各样的开发人员正在使用一个非常旧版本的git,我想知道是否有一些方法可以将回购报告发回给他们“你应该从git 1.7升级到更现代的东西”。
我在当地知道你可以设置githooks,但我的印象是没有办法用钩子自动“播种”一个repo - 由用户安装它们。
我正在寻找的是一种方法,可以在推送或克隆时告知用户他们应该升级他们的git版本。
我们目前正在使用Atlassian Stash作为我们的回购,但我也可以访问GitLab。
- 附加说明:
默认安装的git版本类似于1.7。我不记得确切的情况,但有一个我们遇到过3个人遇到的错误,通过使用更新版本的git来纠正。 IT人员不会升级默认版本,所以我正在寻找一个解决方法
答案 0 :(得分:1)
不幸的是,目前还不行。
Git v1.7.12.1和更新的can report their version to the other side(commit),但此版本信息不可用于任何挂钩。获取此信息的唯一方法是修改服务器上运行的git-receive-pack
可执行文件,或编写围绕git-receive-pack
的包装器,该包装器执行某些协议解析以提取版本信息并对其执行某些操作。
我鼓励您向Git mailing list发送电子邮件,并要求开发人员在钩子环境变量中提供客户端版本(如果客户提供)。