基本上,我如何在Mercurial Repository中执行此操作?
目前我已经在Apache中configuration了需要SSL的位置,使用基本authentication,并要求有效用户。 这有点多,因为我想允许匿名拉,只需要基本的身份validation – 现在需要用户/密码才能在Web浏览器中查看存储库。 我希望在任何时候都需要SSL,并且不需要两次托pipe相同的存储库(对于只能拉,另一个用于validation推送)。
凯斯马丁有一个很好的博客,详细介绍了他如何设置完成你所问的水银。
<LimitExcept GET> require valid-user </LimitExcept>
这个来自Apacheconfiguration的片段是允许匿名提取(或者如果通过hgweb发布则进行浏览)所需的一部分,但仍然需要通过推送。
你要找的可能是Apache的LimitExcept指令。 就像是:
<LimitExcept GET> Require valid-user </LimitExcept>
所以,除GET请求以外,还需要用户/通行证。 但是我不知道Mercurial,也不知道hg push是如何完成的。 如果这是一个POST请求,它会好的,但也可能是POST也需要拉。
通过要求SSL进行匿名抽取,你使问题变得更加困难,而且我不知道你的目标是什么。 如果任何人都可以没有身份validation,任何人都可以通过询问看到所有的数据,使得嗅探电缆完全冗余,所以encryption没有意义。
我强烈build议采取更简单的方式将您的匿名发行放在http上,并保存https进行推送。