我们将需要托pipe一系列Mercurial存储库。 为了安全起见,我们将在Apache中使用SSLencryption和htpasswd访问(必需)。 我testing了一个存储库,并使用hgwebdir.cgi
并使用hgweb.config
来定义存储库path以及allow_push
和deny_push
指令,但是这个testing设置只会导致更多的问题/问题:
我没有看到任何方式为每个单独的存储库做一个不同的允许/拒绝推送组? 重要的是,我没有看到allow_pull
deny_pull
方法 – 这是非常重要的,因为每个存储库都有一组不同的用户应该被允许读取或写入。 我们想为所有用户保留一个htpasswd
文件。
我认为你可能会遗漏的是,在每个版本库中创build一个.hg/hgrc
文件是完全可以允许的,这些文件可以包含allow_push
和allow_read
条目。
Mercurial服务器是一个很好的方式来托pipe许多Mercurial回购每个回购不同的访问要求。
如果你认为这不适合你,那么你应该看看Mercurial的ACL扩展。
我认为allow_pull
或deny_pull
的最好方法是使用htpasswd文件设置httpdauthentication。 你可以在这里使用任何mod_auth
机制来允许每个用户拉或推。
您也可以考虑使用SSH传输进行托pipe,因为这会以更复杂的设置为代价,从而更好地控制访问。
更多信息可以在Mercurial wiki中find。