如何在 svn/git/hg 中分离源代码



我们的开发团队有以下源代码,必须分离所有权。

/common/ (owner:all, reviewer:all)
/prj_A/A1 (owner:King, reviewer:Queen)
/prj_A/A2 (owner:Queen, reviewer:King)
/prj_B/B1 (Owner:Princess, reviewer:Prince)
/prj_B/B2 (Owner:Prince, reviewer:Princess)

对于prj_A,他们必须签出命令和prj_A进行构建和测试。对于prj_B,他们必须签出命令和prj_B来构建和测试。其他团队无法查看不同项目上的代码。

那么,svn/git/hg的正确设置是什么? 您是否计划使用多个存储库来存储这些代码?

您是否计划使用多个存储库来存储这些代码?

对于DVCS(分布式VCS),是的:每个存储库不应包含"所有内容",而应代表一组连贯的文件,以便仅允许克隆您需要的内容(而不是一直克隆"所有世界")。
像SVN这样的CVCS没有这个问题,你可以将所有内容保存在同一个存储库中。

那么,svn/git/hg的正确设置是什么?

  • 对于 Git,您需要添加一个授权层,例如 gitolite。
  • Mercurial 会使用 hg serve:参见"Mercurial 有没有类似 svnserve 的东西?",以及"授权用户"。

最新更新