对于通过SSH和HTTPS提供的共享git仓库,如何控制两种协议的访问?

时间:2009-09-16 21:49:40

标签: git webdav

我正在使用hooks/update来控制谁可以更新共享存储库中的特定引用。这适用于SSH,但我最近发现(至少使用git-1.6.4.2)这个钩子不会影响WebDAV推送,,任何用户都可以更新任何分支。

是的,我可以在8 ways to share your git repository中添加Require group ...指令以及单独的组文件,但我希望避免维护并行授权配置!

另一种选择是重写hooks/update,但这似乎是浪费,因为它已经在为SSH工作了。

1 个答案:

答案 0 :(得分:3)

你应该明白,对于Git(目前),HTTPS是一个“哑”协议,即整个交换根本不涉及服务器上的git,包括运行钩子;它只是涉及的Web服务器(使用WebDAV进行HTTPS推送)。

然而,您应该查看存储库访问管理工具,例如 Gitosis (在Python中,使用setuptools)或新的 Gitolite (在Perl中,更简单),或来自Google Android项目的 repo 工具或其他内容。也许他们会提供集中的访问管理。