1

我希望能够控制对我服务器上某些 mercurial 存储库的访问。我认为一个简单的解决方案是让所有受限用户都有一个以“_external”结尾的用户名。然后,我将更改某些 .hgrc 文件上的 deny_push 和 deny_read 以根据需要授予它们访问权限。我设置了我的 hgweb.config 文件,如下所示,但 deny_push 和 deny_read 行被忽略。 这是正确的语法吗? 有没有更好的方法来实现我的目标(我研究了 Rhodecode,但它在 Windows 上似乎很崩溃)。

[web]
style = gitweb
baseurl = /hg
allow_push = *
push_ssl = false
deny_push = *_external
deny_read = *_external
4

2 回答 2

2

您最好的选择是使用用户名设置一个列表:

allow_push = user1, user2
deny_push = user3, user5
deny_read = user4

您的语法问题在于,您首先允许为所有人推送,然后尝试限制用户。

于 2011-08-23T19:04:36.250 回答
1

mercurial-server可以为您执行此操作。这意味着通过 ssh 而不是通过 http 连接到您的存储库,并使用 ssh 密钥对进行身份验证,但根据我的经验,无论如何这要方便得多。

于 2011-09-06T16:50:38.020 回答