将特定版本的git强制推送到远程仓库

3
我不确定这是否有些疯狂,但我知道某些仓库(例如Atlassian Stash)允许您设置远程git钩子。我们有各种开发人员正在使用非常旧的git版本,我想知道在推送时是否有一种方法可以让仓库向他们报告“您应该从git 1.7升级到更现代的版本”。
我知道在本地可以设置githooks,但我认为没有自动“seed”存储库以使用钩子的方法 - 这取决于用户安装它们。
我要找的是一种方法,在推送或克隆时通知用户应升级其git版本的方法。
我们目前正在使用Atlassian Stash作为我们的仓库,但我也可以访问GitLab。
-附加说明:
默认安装的git版本大约为1.7。我不记得确切情况,但有一个错误我们已经有3个人遇到过,使用更新版本的git可以解决。IT人员不会升级默认版本,所以我正在寻找解决方法。

如果开发人员继续使用旧版本的Git,您是否预计会出现特定问题? - chepner
我们的默认版本是1.7,有时人们会遇到一些错误,因为他们没有指向更新的GIT版本。我们的IT人员不会更新默认版本,所以我正在寻找解决方法。 - Jeef
你有你的Git服务器的root访问权限吗? - RyPeck
你们的开发人员是使用HTTP还是SSH进行认证? - RyPeck
他们使用组合 - 而我可以访问我们的存储实例。 - Jeef
1个回答

1
很遗憾,目前还无法实现。Git v1.7.12.1及更高版本可以向另一方报告其版本(提交),但此版本信息对任何钩子都不可用。获取此信息的唯一方法是修改在服务器上运行的git-receive-pack可执行文件,或编写一个包装器,在其中进行协议解析以提取版本信息并进行处理。我鼓励您发送电子邮件给Git邮件列表,要求开发人员将客户端的版本作为钩子环境变量提供(如果客户端提供)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接