【问题标题】:Best way to migrate from VSS to Subversion?从 VSS 迁移到 Subversion 的最佳方式?
【发布时间】:2008-09-12 15:58:19
【问题描述】:

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

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

有没有人成功过,可以推荐一个方法?

【问题讨论】:

    标签: svn version-control visual-sourcesafe


    【解决方案1】:

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

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

    【讨论】:

    • 确保在导入 SVN 之前清除 VSS 在结帐时留下的所有垃圾文件,并确保所有生成的文件也都消失了。
    • 我完全不同意这一点。我的公司已经使用 VSS 将近 10 年了,如果我们只是“重新开始”,将会丢失大量的历史记录。我确实同意 VSS 是垃圾,但总比没有好,仅仅丢弃多年的文件历史记录是一个大错误。
    • 只需将 VSS 中的内容冻结以供将来参考(即只读)(您几乎肯定永远不会看到!)并重新开始使用 Subversion。
    • 我们当时移动了一个项目。首先将它们与 Sourcesafe 断开连接。然后删除所有 Sourcesafe “帮助”文件。然后将它们导入SVN。我们将 VSS 服务器保留为历史记录和不使用 SVN 的旧项目。
    • 出于许可和支持原因,保留 VSS 软件可能不是一种选择。
    【解决方案2】:

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

    http://vss2svn.codeplex.com/

    【讨论】:

      【解决方案3】:

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

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

      稍微详细一点here

      【讨论】:

        【解决方案4】:

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

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

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

        埃里克。

        【讨论】:

        • 我要试试这个。尽管我们之前放弃了 VSS,没有转换,但我们只是决定我们真的很想从中获得一些信息。上面的 Abstrakti.com 公司似乎专门从事 VSS 转换,即他们也有一个用于 VSS 到 GIT 的应用程序 Castellum。就在这个月,他们进行了维护更新!
        • 我在旧的 VSS 存储库中进行了尝试,效果非常棒!
        【解决方案5】:

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

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

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

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

            【讨论】:

              【解决方案8】:

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

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

              【讨论】:

                【解决方案9】:

                我使用 vss2svn 非常成功。

                【讨论】:

                  【解决方案10】:

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

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-09-10
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-08-22
                    • 2011-01-07
                    相关资源
                    最近更新 更多