从VSS迁移到Subversion的最佳方法?

时间:2020-03-05 18:52:20  来源:igfitidea点击:

我是一个单一的开发人员,希望摆脱Visual Source Safe并转而使用svn。

快速搜索带来了几种工具,但是我没有看到一个明确的赢家,而且我花不起很多时间来测试不同的工具。

有没有人成功做到这一点,并可以推荐一种方法?

解决方案

回答

我建议只将代码添加到新的Subversion存储库中,而不要从VSS导入。 VSS的卷积版本控制模型无法很好地转换为其他许多系统,因此通常,重新开始通常是避免麻烦的最佳方法。

如果需要保留历史记录,请将VSS存储库设置为只读。

回答

我使用了一些脚本(我不记得是哪个脚本)来辅助从VSS到SVN的转换。这有点痛苦和挑剔,但最终工作了,并保留了所有历史。当时出于政治原因,我不得不保留所有历史。如果我愿意的话,我可能会丢掉历史记录,并将所有代码导入SVN中。

同样出于政治原因,我写了一些非常hacky的脚本,通过Subversion的更改使VSS保持更新。这些文件工作了一段时间,但每隔两到一个星期就不断中断,直到有人重命名目录或者其他内容,然后整个事情都崩溃了。到那时,可以简单地继续使用Subversion了。

回答

在我目前的工作中,我们只是创建了一个Subversion信息库,设置了挂钩脚本以忽略所有vss和生成的文件,然后才开始使用tortoiseSVN导入各种项目。工作起来相当不错,我们在几个小时内就启动并运行了。

回答

我们最近在工作中进行了此迁移。我强烈建议:

  • 只需从VSS添加新代码,即可消除pre-svn历史必须保留在旧VSS存储库中的麻烦。
  • 如果在初始代码转储后仍在使用VSS存储库,请使用供应商分支迁移更改。即,假设VSS信息库是供应商,并使用带有日期的标签将更改合并到SVN信息库中。

这里有更多细节。

回答

以下工具效果很好:
http://www.pumacode.org/projects/vss2svn/wiki/RunningTheMigration

清理导入的存储库需要花费一些工作,但是如果我们确实想要保留历史记录,那是值得的。

编辑:pumacode.org域不见了,该代码现在托管在https://github.com/irontoby/vss2svn

回答

我完全同意乔恩·加洛韦的回答。我也尝试过使用vss2svn,但是发现导入的存储库存在很多问题,最后决定不值得进行清理工作。我们只是将代码的副本导入Subversion中,并在极少数情况下需要查询较旧版本的代码而又回到了VSS。

在我以前的公司中,我们也使用相同的方法从ClearCase迁移到Subversion,我不记得有任何一次需要回到ClearCase查看历史的情况。

最大的问题是让每个人都同时切换到新的存储库,但是作为一个开发人员,我们在那里应该没有任何问题!

回答

我们下载并测试了几种迁移工具,我建议使用Polarion SVNImporter。

我们使用它来从VSS6存储库向Subversion选择性迁移近Gb。当源代码可用时,我们能够对其进行修补并根据我们的特定需求(链接文件检测)进行定制。

回答

VSStoSVN的CodePlex版本是我发现的最好的版本之一。使用PumaCode版本的结果非常糟糕,但是此版本运行顺利。

http://vss2svn.codeplex.com/

回答

我使用vss2svn取得了巨大的成功。

回答

我公司开发了Source Safe to Subversion迁移工具:
http://www.abstrakti.com/zh-CN/Products/Krepost

该工具是在我们不得不迁移客户的存储库时遇到其他所有工具后开发的。

如果我们有任何问题,请告诉我,我们将很高兴为我们提供帮助。

埃里克。