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

时间:2008-09-12 15:58:19

标签: svn version-control visual-sourcesafe

我是一个想要摆脱Visual Source Safe并转向svn的开发人员。

快速搜索带来了一些工具,但我没有看到明显的赢家,也没有时间花费大量时间测试不同的工具。

有没有人成功完成此操作,可以推荐一种方法吗?

10 个答案:

答案 0 :(得分:28)

我建议您只将代码添加到新的Subversion存储库,而不是从VSS导入。 VSS有一个复杂的版本控制模型,不能很好地转换到许多其他系统,只是刚开始新鲜通常是避免与你混在一起的最好方法。

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

答案 1 :(得分:8)

VSStoSVN的CodePlex版本是我发现的最好的版本之一。 PumaCode版本的结果非常糟糕,但这个版本运行顺畅。

http://vss2svn.codeplex.com/

答案 2 :(得分:7)

我们最近在工作中完成了这次迁移。我强烈建议:

  1. 只需从VSS添加新代码,即可获取pre-svn历史记录必须保留在旧VSS存储库中的匹配。
  2. 如果在初始代码转储后仍在使用VSS存储库,请使用Vendor Branches迁移更改。即,假设您的VSS存储库是供应商并使用过时的标记将更改合并到SVN存储库中。
  3. 稍微详细一点here

答案 3 :(得分:6)

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

当我们必须迁移客户的存储库时,此工具是在与其他所有工具出现问题后开发的。

如果您有任何问题,请告诉我,我很乐意帮助您。

埃里克。

答案 4 :(得分:2)

以下工具运作良好: http://www.pumacode.org/projects/vss2svn/wiki/RunningTheMigration

清理导入的存储库需要一些工作,但如果你真的想保留你的历史记录,那就值得了。

编辑:pumacode.org域名已消失,代码现已托管在https://github.com/irontoby/vss2svn

答案 5 :(得分:2)

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

答案 6 :(得分:1)

在我目前的工作中,我们刚创建了一个subversion存储库,设置钩子脚本以忽略所有vss和生成的文件,然后开始使用tortoiseSVN导入各种项目。工作得相当不错,我们在几个小时内就开始运行了。

答案 7 :(得分:1)

我完全同意Jon Galloway的回答。我也尝试使用vss2svn,但发现导入的存储库存在很多问题,最终决定清理它所需的努力是不值得的。我们刚刚将代码的副本导入到subversion中,并且在罕见的情况下返回到VSS,需要查阅旧版本的代码。

在我之前的公司中,我们也使用相同的方法从ClearCase迁移到Subversion,我记不起任何需要回到ClearCase查看历史的场合。

最大的问题是让每个人同时切换到新的存储库,但作为一个开发人员,你不应该有任何问题!

答案 8 :(得分:1)

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

我们使用它来将几乎一个Gb的选择性迁移从VSS6存储库转移到Subversion。由于源代码可用,我们能够对其进行修补并根据我们的特定需求(链接文件检测)进行调整。

答案 9 :(得分:0)

我使用了一些脚本(我记不起哪一个)来协助VSS到SVN的转换。这有点痛苦和挑剔,但最终工作,并保持所有的历史。我当时因政治原因不得不保留所有的历史;如果我按照自己的方式行事,我可能会抛弃历史记录并将所有代码导入SVN。

出于政治原因,我写了一些非常hacky脚本,使VSS更新了Subversion的更改。这些工作有一段时间,但每隔一两周都会破坏,直到有人重新命名目录或其他东西,整个事情就崩溃了。到那时,可以继续使用Subversion。