5

有没有办法将带有 HISTORY 的 SourceSafe 迁移到 SVN 中?

理想情况下,我想使用 VisualSVN Server,但我真的不想丢失我的 SourceSafe 历史记录。如果我必须,我会的。

4

8 回答 8

7

很久以前(似乎)我尝试使用vss2svn将 SourceSafe DB 迁移到颠覆,但最终放弃了。IIRC有几个问题:

  • 您必须确保 SS DB 是一致的(例如,Analyze 没有发现任何问题或能够修复它们)。
  • 迁移数据库花了很长时间,因为它很大。
  • 最后,由于解析日期的一些问题,迁移失败了。我无法找到问题的原因,但我想这是因为我们使用 DD.MM.YYY 日期格式而不是美国日期格式。

所以最后我们决定保持 SourceSafe DB 不变(只读),只是将当前版本迁移到 subversion。到目前为止,我们不得不返回 SourceSafe 进行检查的情况很少。

希望这可以帮助。

顺便说一句:无论您是使用 VisualSVN Server 还是直接使用 subversion (svnserver) 都没有关系。两种情况下的存储库格式相同。

于 2009-01-06T17:23:38.023 回答
5

试试vss2svn脚本。

或者vss2svn项目。

于 2009-01-06T17:13:08.687 回答
3

我成功地转换了我们讨厌的 VSS 数据库,包括历史。我在这里写了一篇关于这段经历的博客 转换亮点是:

“所有转换工具还要求源 VSS 数据库在转换之前清除损坏。结果证明这比您想象的要困难和耗时。在数据库副本上运行 VSS 分析工具显示数百个损坏并且如果不蓝屏它正在运行的计算机就不会运行完成。

为了解决这个问题,我们通过删除我们不想转换的目录来减少副本数据库。不幸的是,VSS 将在删除过程中报告每个损坏,导致数百个消息框,用户必须无意识地单击这些消息框才能继续该过程。

一旦达到这一点,我们就使用工具 VSS2SVN 来创建导入 Subversion 的转储文件。”

于 2010-01-07T23:28:16.330 回答
2

我们使用Polarion SVN Importer将 VSS 迁移到具有完整历史记录的 SVN。

于 2009-10-07T11:03:15.570 回答
1

我成功地使用vss2svn脚本将几个源安全存储库迁移到 SVN。我的建议是,分小块进行——我们有很多小项目和几个中等规模的项目,它们都成功地转移到了 SVN。

我有几个问题:

  • 大文件无法写入SVN转储文件格式,我提交了一个补丁让它工作,我想在我完成后有人写得更复杂一点。
  • 未正确复制根目录结构。VSS 存储库被组织为 $/client/project。svn 存储库最终被组织为 svn://server/randomdirectory/anotherrandomdirectory/client/project。所以我在导入之前通过编辑转储文件来修复这些问题(我认为它是 find replace "/randomdirectory' with ''.
于 2009-01-08T23:30:57.190 回答
1

是的,使用Codeplex 上的 VSS2SVN 项目。我已对其进行了更新,以便在迁移到 SVN 时保持历史、评论、作者和日期属性。需要更长的时间,但我不认为这很重要,因为它不是你每天都做的事情。

它还可以选择使用 VSS 中超过特定​​日期的文件更新存储库,因此您可以稍后更新初始转储。

于 2009-01-17T17:36:24.783 回答
1

在我的公司,我反复尝试使用 vss2svn 将(大)SourceSafe 存储库迁移到 Subversion。我什至对代码页支持做了一点贡献(我们的文件名是希腊语)。如果我没记错的话(这发生在去年春天;即 2009 年),我们的主要问题(让我们最终放弃迁移的问题)是在存储库的想要和不需要的部分之间交叉链接/移动的永久删除的文件被阻塞迁移。

我的建议:如果您无法在完全分析的存储库中完成此操作,请不要浪费更多时间。只需画一条线并从一个新的颠覆存储库开始。

注意:在 SourceSafe 中永久删除文件会使该文件完全无法恢复,这与 CVS/SVN 类型的源代码控制系统完全不兼容(我想,其他源代码控制系统也是如此)。

于 2010-01-07T22:43:38.873 回答
1

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

当我们不得不迁移客户的存储库时,该工具是在与其他所有工具出现问题后开发的。此外,这是唯一可以将SourceSafe 标签导入 SVN 的工具。此外,它能够处理大多数SourceSafe 存储库损坏,并为不想花几天时间调试 C# 代码的用户提供轻松的迁移。

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

埃里克。

于 2014-07-05T02:12:36.060 回答