我们来自一个颠覆背景,我们有一个QA经理,一旦他确认所有QC活动都已完成,他就会向中央存储库提供提交权限。
我和几个同事开始使用mercurial,我们希望拥有一个包含我们QC-ed更改的共享存储库。每个开发人员都会克隆存储库并将其更改推送回共享存储库。我已经阅读了HG init教程并浏览了红豆书,但无法找到如何控制允许谁将更改推送到共享存储库。
我们现有的QA-manager控制提交模型如何转化为一个多变的“中央”存储库?
答案 0 :(得分:2)
HenriW的评论询问您如何提供存储库是完全正确的问题。如何设置身份验证完全取决于您如何为repo提供服务(HTTP通过Apache,HTTP通过hg-serve,ssh等)。传输机制提供身份验证,然后使用来自Cat先生链接的命令(无用于其自身)来处理访问控制。
由于你没有提到你是如何为repo服务的,所以它可能很容易设置(你已经记得提到apache或ssh设置的麻烦:)。所以我会说这两个:
如果您使用 hg serve ,则说明您没有设置身份验证。您需要在hgweb或hgwebdir前面使用apache,lighttp或nginx来提供身份验证。在你做之前,allow_ *和deny_ *选项严格地是每个人或没有人。
如果您正在使用 ssh ,那么您已经从ssh(可能还有您的操作系统)获得了身份验证,因此您可以使用allow_ *和deny_ *指令(以及文件系统访问控制)如果你愿意的话。
答案 1 :(得分:0)
serverfault.com有一个相关的question和指向Publishing Repositories Mercurial Wiki页面的链接。第一部分展示了在服务器上使用hgweb时如何配置每个存储库访问。我觉得你使用的是wiki页面标记为“私有”的ssh,因此我倾向于认为你必须回到文件系统访问控制,即使存储库中的所有文件都属于该组“commiters”,给小组成员写访问权限,其他人只读/。