在工作中,我们有一个由Borland StarTeam源控制系统管理的非常大的项目(大约30,000个文件)。我们想迁移到SVN,但是有一些障碍。最重要的一个问题是在所有开发人员的虚拟机上设置存储库。
在硬盘上设置新的SVN版本文件夹有两种基本方法。 (在Windows上,使用TortoiseSVN。)您可以从存储库中签出SVN项目,也可以将现有代码上传到(可能是空的)存储库,在这些操作之后,最终得到一个带有SVN的文件夹树元数据文件夹但我们有几十个开发人员,他们每个人都拥有该项目的完整副本。我们真正想要做的是上传一次,然后运行某种“将此现有文件夹与[wherever]处的存储库关联并同步它们”操作。
SVN是否支持此功能?如果是这样,如何,是否可以在TortoiseSVN中做,或者它是否需要其他工具?
答案 0 :(得分:10)
在硬盘驱动器上的现有文件夹上右键单击“SVN checkout ...”应该做什么工作,该文件夹的内容与您要检出的存储库相同。 Tortoise在本地找到的每个文件,它将首先与存储库中的版本进行比较,如果校验和匹配(我假设它正在进行某种校验和比较),则不下载它,但在结帐协议中将其标记为“版本化”并跳到下一个文件。
最终结果应该是一个很好的结帐。
将根据我的知识覆盖与存储库中的版本不匹配的文件。在你所处的情况下,这一直对我有用;确保您拥有数据备份,或者首先在较小的子集上进行备份。