如何拒绝对git分支的读取访问(使用第三方工具)

时间:2014-09-04 16:14:49

标签: git

如何使用第三方工具拒绝对某些git版本化分支/文件或文件夹的读取权限?

我知道用git本身是不可能的,这已被一遍又一遍地问过,答案总是如此: “你不能。你只能拒绝通过git hooks进行写访问。”

我读到gerrit能够做到这一点,因为他们有自己的sshd和git deamon。

背景:

我想举办一个编码活动。 对于每个任务/挑战,参与者将能够克隆模板和指令(分支任务1)。 然后,他们可以修改模板并针对提供的测试集运行它。 当他们决定提交他们的作品时,他们可以推送代码。服务器端钩子将编译程序,针对另一个测试集(分支task1_tests)运行它并将获得的分数返回给提交者。此外,服务器将合并另一个分支中的用户解决方案(task1_solutions)。从那时起,我想让用户查看分支task1_tests和task1_solutions,这样他就可以将他的解决方案与其他解决方案进行比较。但是,虽然他仍然在研究他的解决方案,但他不应该克隆这些分支。

一种解决方案是加密我想隐藏的分支,并在提交响应中返回解密密钥及其分数(另请参阅:http://syncom.appspot.com/papers/git_encryption.txt)。

有没有更好的方法来实现同样的目标?

1 个答案:

答案 0 :(得分:0)

您可以使用gitolite为git服务器创建访问控制。它可以使用"partial-copies"来实现(或者您可以使用separte存储库,就像gitolite的部分副本一样)。