我们在公司的Intranet中使用mercurial,暂时无法通过其他方法发布,但由于防火墙限制而无法共享磁盘。 我知道这不是理想的或推荐的方法,但是,它现在会做(如果我最终获得服务器,我正在设置RhodeCode)。
我们发现我们可以通过Windows sharing our repo folder使用我们的Active Directory帐户(右键单击文件夹,与特定人员共享)轻松共享我们的更改,但是我想完全阻止这种可能性有人推送到存储库。
我99%确定没有使用HTTP,因此传统方法不起作用。 我正在寻找一种解决方法,因为我认为无论如何都不能直接从Mercurial config 来限制它。
答案 0 :(得分:2)
只要您确定有人使用push
和pull
从共享目录中获取更改(这是唯一安全的方法!),仍然可以在这些存储库中使用钩子来阻止推送。存储库的.hg/hgrc
文件中的此类内容将阻止推送:
[hooks]
pretxnchangegroup.denyall = /bin/false
其中/bin/false
是Windows上的任何可执行文件,总是返回false /非零。
此外,请考虑通过在其中执行hg update null
来创建共享存储库裸存储库。这将删除工作目录中的所有文件,因此没有人想在那里进行编辑。
答案 1 :(得分:0)
每个人都可以分享他们的回购(只读),并要求其他人 - 包括官方回购的维护者 - 从中获取。