2010-01-19 60 views
3

在工作中,我们有一个非常大的项目(约30,000个文件)由Borland StarTeam源代码管理系统管理。我们想迁移到SVN,但是有一些障碍。最重要的一个问题是让所有开发人员的虚拟机上存储库的问题。如何在现有项目上创建SVN版本控制?

有两种基本的方法来建立一个新的SVN版本化的文件夹在硬盘上。 (在Windows上,使用TortoiseSVN。)您可以从存储库检出SVN项目,或者将现有代码上传到(大概为空的)存储库,并且在执行上述任一操作后,最终会生成一个带有SVN的文件夹树元数据文件夹但是我们有几十个开发人员,每个开发人员都有完整的项目副本。我们真正想要做的就是上传一次,然后运行某种“将此现有文件夹与[在任何地方]存储库相关联并同步它们”的操作。

SVN是否支持呢?如果是这样,在TortoiseSVN中如何以及是否可以做,还是需要其他工具?

回答

10

我应该在现有的文件夹的工作是做了右键点击“SVN结账......”你的硬盘驱动器,其内容与存储库相同,也可以是对检查出的。每个文件都会在本地找到,它将首先与存储库中的版本进行比较,如果校验和匹配(我假定它正在做某种校验和比较),则不要下载它,而是在签出协议中将其标记为“版本化”并跳到下一个文件。

最终的结果应该是一个不错的签出。 与我知识库中的版本不匹配的文件将被覆盖,并且无法恢复。

这一直在你的情况为我工作;确保你有数据的备份,或先尝试一个较小的子集。

+0

这是简单的吗?这已经有一段时间了,但我似乎记得之前试图做到这一点,并使其无法工作。可能从那以后它已经被修复了? – 2010-01-19 22:58:05

+1

+1我刚刚通过SVN导出SVN中的现有目录来测试这一点,以便它不包含.svn元数据。然后进入那个新导出的目录,我做了SVN的同一个目录的SVN签出。每个条目都被列为“Versioned ...”,而不是通常的“Added ...”。如果它有任何区别,我使用的是TortoiseSVN 1.6.6.17943。 – JMD 2010-01-19 23:00:09

+0

谢谢!我会在我们的项目上进行测试,如果有效,我会接受这个答案。 – 2010-01-19 23:09:00