Answers:
要从几次迁移的亲身经历中回答迁移问题:
不要害怕仅仅将软件的当前版本作为新的源代码控制系统作为基准并从那里开始工作。
在绝大多数情况下,您不需要历史记录。这意味着在集成过程中要执行的任务少一件事,而出错的事情也少一件事。
正在积极开发的文件/项目将很快产生新的历史记录。因此,当您需要找出进行更改的原因时,历史记录将在当前存储库中,因为它是最近的更改。
在迁移之前保持稳定的文件/项目(在所有条件相同的情况下)在迁移之后应保持稳定,因此您无需参考历史记录。我们发现,如果我们必须调查这样的具有历史记录的旧文件/项目中的错误,实际上并没有任何好处。只要您将旧存储库保持为每年6个月可用,在这种情况下,您将获得参考。
在管理方面,主要是以下问题:
在项目方面,这也是一个问题:
是否有免费软件,请记住,“免费”软件是免费的,就像“言论自由”(您可以自由选择和部署所需的软件)一样,而不是“免费啤酒”(在服务器上仍然会花费很多钱) ,备份,管理,支持...)
上面提到的标准是确定保留什么VCS,放弃什么的开始。
但是在后一种情况下,您需要考虑:
您是否真的需要集成不同的系统?在我们的团队中,每个项目都位于其自己的存储库中,因此它们的历史是独立的。我们在这里可以毫无问题地处理一些处于颠覆状态的项目,而可以处理一些处于轻浮状态的项目,即使它们之间存在依赖性。
如果选择从一个VCS迁移到另一个,请查看可用的转换工具。根据我的经验,没有任何技术理由放弃项目的历史。
我想我理解了一些问题和其他答案中所隐含的内容。事实上,VCS也用于管理依赖项。我知道使用VCS功能(例如svn:externals
将一个存储库(依赖项)与另一个存储库集成)是很常见的。
我认为我们的团队不需要桥接(或集成)我们的两个不同系统的(技术上的)原因是我们拥有一个单独的工具来管理依赖项。我们的仓库彼此不认识。
有很多好的答案。需要考虑的另一件事是,不要让团队成员认为切换VC如此重要。迁移,学习曲线等都会使您遇到挫折,但是如果他们有太多问题,他们需要质疑他们的能力和/或合作水平。