我在一家大型跨国公司担任软件工程师,目前我正与IT和其他开发人员就采用DVCS(Mercurial和/或Git)进行非常好的交stream。
IT所提出的问题之一是合规性和知识产权(顺便说一下 , Perforce就此和Git 进行了大声讨论 )。 在我看来,由于Mercurial / Git是分布式的,因此在每个开发人员机器中都有一个存储库是一个失控的场景,他们将不得不审计每个存储库。
另一件我认为是IT关注的事情是现在拥有“百”库而不是“十”这个庞然大物的事实,我觉得他们认为维护/监督他们的行政努力会“折”。 我认为存储库pipe理软件(Rhodecode,Atlassian Stash)是实现访问控制和可追溯性的第一步。
我的问题是:
存储库pipe理软件是否足够适用于这样大小的公司(可以说〜2000个开发人员&〜50个Perforce软件仓库超过〜10台服务器)?是否符合(并满足其他企业要求?)
这个“合规”要求究竟包含了什么?是否有任何你可以提供的参考(例如IEEE标准或类似的东西)?
我的公司已经使用了Perforce约10年
当您切换到DVCS时,没有太多变化。 最大的区别是,每个开发人员的工作站上的源代码副本现在也是自己的存储库。
我怀疑IT是否有很多理由担心这一点。 仅仅因为git和mercurial是分布式的,并不意味着你会直接从开发人员的桌面部署/交付。 仍然有可能 – 并且几乎可以肯定的是 – 继续使用大家签入的中央回购协议,进行testing,质量保证和最终发布。
无论IT是否在开发者工作站上监控源代码,没有什么变化。 当他们被推动时,你仍然会把变革历史带入中央回购,这是我怀疑他们真正关心的。
从IT的angular度来看,您从中获益的是每当开发人员进行提交时,您每隔几分钟(或几秒)就不会触及中央回购站。 开发人员可以完成某些工作,然后只有在准备就绪的情况下才能完成工作,但仍然可以在工作站上进行完整的版本控制,而不必几乎不打networking。
最后,您需要与IT部门进行更详细的交谈,了解他们正在讨论的合规问题的确切性质。 这可能是pipe理知识产权,ISO 9000或一些政府法律/法规的任何事情。
(对所有人:随意改善这个答案;这不是我的专业领域…)