【问题标题】:Moving from Visual Sourcesafe to Mercurial从 Visual Sourcesafe 迁移到 Mercurial
【发布时间】:2010-11-01 00:06:26
【问题描述】:

将 Visual Sourcesafe 存储库移至 Mercurial 的最佳方式是什么(我有兴趣保留所有历史记录)?

【问题讨论】:

    标签: mercurial migration dvcs visual-sourcesafe


    【解决方案1】:

    虽然我没有进行特定的转换,但我已使用 (IIRC) this script 从 VSS 转到 SVN。您可能需要研究裁缝并搜索 vss2hg。另请记住,通过 vss2svn + svn2hg 或类似的中间步骤可能是有意义的。

    我要给出的主要建议是:编写转换脚本,以便您可以轻松地重新运行它。这将让您在夜间运行从 VSS 到 Hg 的转换,并确保在您扣动扳机之前一切都正确转换。

    【讨论】:

      【解决方案2】:

      我是 vss2hg.pl 脚本的作者,并使用它将许多项目从 VSS 迁移到 Mercurial。它有一个或两个小错误,其中一些 cmets 没有完全转换,但我没有看到任何其他问题。它可以转换完整的历史记录并解决 VSS 的问题,即用户的 PC 时钟可能会影响更改的顺序。

      脚本的一个版本可用here

      【讨论】:

      • 网站好像已经不存在了
      • 使用下面@Edmund 链接的版本;他现在正在维护它,因为我们已经改掉了 VSS 的习惯。
      【解决方案3】:

      我使用了来自here 的 vss2hg.pl 脚本。这是一个Perl脚本,所以你需要先安装ActivePerl

      效果很好,但我遇到了日期问题。事实证明,该脚本支持三种日期格式。默认情况下,它设置为英国日期格式(在第 547 行)。其他两种日期格式在代码中被注释掉。启用美国日期格式后,该脚本毫无问题地转换了我的 SourceSafe 数据库。

      【讨论】:

      【解决方案4】:

      Mercurial wiki 有这个页面,可能会引起您的兴趣:https://www.mercurial-scm.org/wiki/SourceSafeConversion。我从来没有使用过 Visual source safe,所以我没有任何个人经验。

      我还找到了关于该主题的mail from Patrick Mézard,但不幸的是,他写道,VSS 转换器会很困难。他还谈到了先转换为 Subversion,然后再从 Subversion 转换为 Mercurial。我想这意味着那里有 VSS -> SVN 转换。你可以自己google一下。

      【讨论】:

        【解决方案5】:

        我已经为客户完成了从 SourceSafe 到 Mercurial 的转换。我首先将 SourceSafe 数据库转换为 Subversion 存储库,然后使用 hg convert 扩展从 Subversion 转换为 Mercurial。详情请见my blog post

        【讨论】:

          【解决方案6】:

          我刚刚尝试使用 vss2hg 并遇到了一个问题,即它只能拾取并转换了 1 个用户。这意味着我所有的变更集等都将不准确,因为我无法看到谁做了它们。这是因为我没有在 hg 中预先设置所有必需的用户吗?

          【讨论】:

          • 您可能会更幸运地提出这个问题。
          猜你喜欢
          • 2010-10-26
          • 1970-01-01
          • 1970-01-01
          • 2011-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-24
          • 1970-01-01
          相关资源
          最近更新 更多