25

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

快速搜索会找到几个工具,但我看不到明显的赢家,而且我不能花很多时间测试不同的工具。

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

4

10 回答 10

28

我建议只将您的代码添加到新的 Subversion 存储库,而不是从 VSS 导入。VSS 有一个复杂的版本控制模型,它不能很好地转化为许多其他系统,刚开始通常是避免把这些杂乱无章的最好方法。

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

于 2008-09-12T16:01:54.937 回答
8

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

http://vss2svn.codeplex.com/

于 2009-12-07T20:55:24.933 回答
7

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

  1. 只需添加来自 VSS 的新代码,接受 pre-svn 历史必须保留在旧 VSS 存储库中的打击。
  2. 如果在初始代码转储后您的 VSS 存储库仍在使用中,请使用Vendor Branches迁移更改。即,假设您的 VSS 存储库是供应商并使用日期标记将更改合并到 SVN 存储库中。

这里稍微详细一点。

于 2008-09-15T14:46:36.187 回答
6

我公司开发了一个 Source Safe 到 Subversion 的迁移工具: http ://www.abstrakti.com/Products/Krepost

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

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

埃里克。

于 2010-08-26T23:44:21.893 回答
2

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

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

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

于 2008-09-29T06:04:52.357 回答
1

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

于 2008-09-15T00:55:48.087 回答
1

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

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

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

于 2008-10-06T14:15:34.107 回答
1

我们下载并测试了几个迁移工具,我推荐Polarion SVNImporter

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

于 2009-05-28T10:14:28.487 回答
1

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

于 2010-04-14T19:46:59.777 回答
0

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

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

于 2008-09-12T20:40:07.267 回答