如何将Accurev导出到另一个VCS?

时间:2012-06-11 15:47:28

标签: git mercurial accurev

有没有人知道将Accurev'depot'及其完整历史记录导出到git或mercurial的简单方法?甚至通过第三方系统?除非我错过了明显的,否则我无法通过谷歌找到任何东西。

如果没有,这是一个额外的问题,是否可以根据具有特定时间戳的补丁构建一个git / mercurial存储库?换句话说,只需让accurev将其历史转储为一组补丁并将其导入存储库。

5 个答案:

答案 0 :(得分:4)

对于完全将AccuRev软件仓库的历史转换为另一个SCM(包括git)的难度,@ jtalbott肯定是正确的。但是,如果您愿意转换单个流(无论是您的软件仓库的“根”流还是您决定用作转换基础的任何其他流),请查看https://github.com/rlaneve/accurev2git/。请注意,这是一个非常非常天真的实现,对于任何大型软件仓库都会花费相当多的时间,并且会在转换过程中过度颠覆您的硬盘驱动器。但是,它确实有效,我用它将至少几十个AccuRev软件仓库转换为git存储库。

免责声明:几年前我写了这个工具,因为我找不到现有的工具。

答案 1 :(得分:3)

查看ac2git,这是一个功能更全面的Python转换工具而不是ryan-laneve accurev2git,尽管我们赞同他最初的概念。

答案 2 :(得分:2)

转移到另一个工具的最佳选择是从流(或快照)中提取并导入到其他工具中。您将不会有事务注释,日志等,但您将能够以这种方式构建历史记录,并保留AccuRev,以防您需要检查未特别迁移的内容。

AccuRev的Timesafe架构保证您可以获得必要的历史记录,但很像将迁移到 AccuRev传统上是使用基线导入完成的,我怀疑您的成本/效益比是否相反不会导致完整的历史作为一种选择。

答案 3 :(得分:1)

由于AccuRev范例与传统的分支和标签工具不同,因此将完整历史记录从AccuRev软件仓库导出到任何其他工具将是一项挑战。这些数据当然可以从AccuRev的方面访问,但是您必须编写一个全面的逻辑提取例程来将其引入另一个系统。任何其他人都做过的事情可能是根据他们的特定需求定制的。使用AccuRev流的时间点配置进行基线导出将更加可行和直接。

请问最终目标是什么?它是完全迁移远离AccuRev还是只是希望能够让用户或团队使用Git作为客户而不是AccuRev?我提出这个问题是因为AccuRev刚刚推出了一个名为Kando的完整Git集成平台。你可以自己阅读,但它可能是你正在寻找的。

此致 〜詹姆斯

答案 4 :(得分:-1)

AC2GIT转换是我在git迁移方面遇到的最好的转换工具之一。非常稳定 https://github.com/orao/ac2git