代码之家  ›  专栏  ›  技术社区  ›  aleemb

从源库迁移到SVN

  •  4
  • aleemb  · 技术社区  · 16 年前

    自从我在微软工作以来,我就有了一个用于版本控制的本地源仓库。最近,我一直想迁移到SVN,并随身携带变更历史记录,但似乎没有要迁移到SVN的脚本。

    因为有相当多的微软件在这里逗留,我想我会在这里尝试。我基本上在寻找一个简单的迁移脚本,它可以为我处理一些事情。

    除此之外,任何其他建议都欢迎带我上路。仅供参考,源仓库基于性能,我尝试了性能迁移 tools 没有任何成功。

    3 回复  |  直到 13 年前
        1
  •  3
  •   Andrew Grant    16 年前

    震源库是否有类似于性能的命令行?

    大约一年前,我用python脚本将我的home scc仓库从performance移到了svn。虽然我已经没有剧本了,但有一天下午它写得很简单。

    基本上,脚本从第一次执行变更列表开始,并按顺序运行它们。它将同步到每个变更列表,并将文件拆分为编辑/添加/分支列表。然后将这些文件复制到SVN路径,并使用适当的命令更新/添加/分支这些文件。然后将使用原始更改列表中的注释提交它们。

    这给了我一个完整的性能仓库的SVN镜像,保留了所有的历史/评论和分支信息。我只有一个用户(我!)但支持多种用途并不困难。

    我甚至还玩弄着让脚本改变系统时钟的想法,这样历史日期就可以是正确的,但似乎不值得这样做。对我来说,历史和分支/标签信息是最重要的。

        2
  •  2
  •   Cheese Daneish    16 年前

    前一段时间,我的公司有一个承包商访问我们,参加一个关于将所有源代码和版本历史从MKS迁移到SVN的信息会议。事实证明,在迁移过程中保持版本历史完整是非常困难的,因为它们都有自己的存储历史的方法。我从这次访问中得到的信息是,有一些昂贵的第三方工具可以进行迁移,但它们很难找到,而且实际上并没有那么好。

    我们最终决定,对于大多数项目,我们都会咬紧牙关,用现有的源代码创建新的源代码管理项目,丢失新软件的版本历史记录,并将旧软件备份到磁盘上。

    当然,我们的情况有点不同,因为我们的基本版本历史不是相同的格式(我的是mks,您的是sd)。但是,我不相信找到一个转换它的魔法脚本会很容易。我可能是错的,但无论如何,这就是我从会议中得到的。

        3
  •  1
  •   warren    16 年前

    也许我误解了您的问题,但是什么阻止您从源代码仓库完全签出代码,然后将其签入到Subversion?

    除非您还打算导入任何已设置的用户/组控件,否则签出/签入无法完全完成此操作。