需要向不同的开发人员授予不同的权限:hg 子存储库有用吗?

Need to grant different permissions to different developers: could hg subrepositories be useful?

在一个使用TortoiseHG和Bitbucket版本化来存储共享仓库的大项目中,出于代码IPR安全的考虑,我需要限制开发人员对特定子文件夹的读取和修改权限。换句话说,我需要开发人员可以克隆、读取、修改他们正在处理的文件,以及这些文件的所有依赖项,希望它们都在同一个子文件夹中。当他们推送他们的修改时,我希望在下一次拉取操作后将所有修改都放在主存储库中。主存储库只能由项目所有者访问,而不能由开发人员访问。

分库的概念对这个需求有用吗?如果是这种情况,我如何通过 TortoiseHG 和 Bitbucket 设置它?

是的,您可以使用 subrepos 来做到这一点。 要设置它,您必须在 Bitbucket 中创建主回购和子回购作为兄弟回购:

 https://bitbucket.org/{Username}/{SubRepo1}
 https://bitbucket.org/{Username}/{SubRepo2}
 https://bitbucket.org/{Username}/{MainRepo}

然后您的 MainRepo 中的 .hgsub 需要包含以下内容:

SubRepo1 = ../SubRepo1
SubRepo2 = ../SubRepo2

但请记住,项目所有者必须维护主代码库。它不会自动更新到子库的最新版本。

设置Mercurial/TortiouseHg,见[官方文档]:https://www.mercurial-scm.org/wiki/Subrepository