0

我们在我公司的内网中使用的是mercurial,由于防火墙限制,暂时不能通过其他方式发布,只能通过共享磁盘。我知道这不是理想的或推荐的方法,但是,它现在可以(如果我最终获得服务器,我将设置 RhodeCode)。

我们发现我们可以很容易地共享我们的更改,只需使用我们的 Active Directory 帐户通过 Windows共享我们的 repo 文件夹(右键单击文件夹,与特定的人共享),但是我想完全阻止有人这样做的可能性推送到存储库。

我 99% 确定没有使用 HTTP,因此传统方法不应该起作用。我什至正在寻找一种解决方法,因为我认为无论如何都不能直接从 Mercurial config 限制它

4

2 回答 2

2

只要您确定人们正在使用pushpull从共享目录中获取更改(这是唯一安全的方法!),您仍然可以在这些存储库中使用挂钩来阻止推送。存储库.hg/hgrc文件中的类似内容将阻止推送:

[hooks]
pretxnchangegroup.denyall = /bin/false

Windows 上的任何可执行文件在哪里/bin/false总是返回假/非零。

另外,考虑通过在共享存储库中进行操作来使共享存储库成为hg update null存储库。这会从工作目录中删除所有文件,因此没有人想在那里进行编辑。

于 2012-04-23T20:21:31.553 回答
0

每个人都可以分享他们的 repo(只读)并要求其他人——包括官方 repo 的维护者——从中提取。

于 2012-04-24T12:32:09.273 回答