在企业环境中,DVCS 管理的合规性,从 CVCS(Perforce)过渡可以期待什么?

在企业环境中,DVCS 管理的合规性,从 CVCS(Perforce)过渡可以期待什么?

我在一家大型跨国公司担任软件工程师,目前正在与 IT 部门和其他开发人员就采用 DVCS(Mercurial 和/或 Git)进行非常愉快的对话。

IT 部门提出的一个问题是合规性和知识产权(顺便说一下,Perforce 对此进行了大声讨论以及与 Git 相关的内容)。在我看来,IT 部门的印象是,由于 Mercurial/Git 是分布式的,因此在每台开发人员机器上都有存储库是一种失控的情况,他们必须审核每个存储库。

我认为 IT 部门担心的另一件事是,现在有“100”个存储库,而不是“10”个庞大的存储库,我的印象是他们认为维护/监控这些存储库的管理工作将增长“十倍”。我认为存储库管理软件(Rhodecode、Atlassian Stash)将是实现访问控制和可追溯性的第一步。

我的问题是:

  1. 对于这种规模的公司(比如说约 2000 名开发人员和约 10 台服务器上的约 50 个 Perforce 仓库),存储库管理软件是否足够?是否符合要求(并满足其他企业要求?)

  2. 这个“合规”要求到底包含什么?您可以提供任何参考资料吗(例如 IEEE 标准或类似的东西)?

我的公司已经使用 Perforce 大约 10 年了

答案1

切换到 DVCS 后,实际上并没有太大的变化。最大的区别是,每个开发人员工作站上的源代码副本现在也是其自己的存储库。

我认为 IT 部门没有理由担心这一点。虽然 git 和 mercurial 是分布式的,但这并不意味着您将直接从某个开发人员的桌面进行部署/交付。仍然可以(而且几乎肯定有必要)继续使用每个人都签入的某些中央存储库进行测试、QA 和最终发布。

无论 IT 是否在开发人员工作站上监控源代码,实际上都没有发生任何变化。一旦推送,您仍会将更改历史记录放入中央存储库中,我怀疑这正是他们真正担心的。

获得从 IT 角度来看,您不必在开发人员提交时每隔几分钟(或几秒钟!)访问中央存储库。开发人员可以完成某项工作,然后仅在准备就绪时将其推送,但仍可以在其工作站上进行完整的版本控制,而无需频繁访问网络。

最后,您需要与 IT 部门进行更详细的交流,了解他们所讨论的合规性问题的确切性质。这可以是管​​理知识产权、ISO 9000 或某些政府法律/法规等任何内容。

(致所有人:请随意改进这个答案;这是不是我的专业领域...)

相关内容