Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将mercurial变更集移植到hgsubversion转换的存储库_Mercurial_Migration_Hgsubversion - Fatal编程技术网

将mercurial变更集移植到hgsubversion转换的存储库

将mercurial变更集移植到hgsubversion转换的存储库,mercurial,migration,hgsubversion,Mercurial,Migration,Hgsubversion,我一直在从subversion迁移到mercurial,这造成了一些混乱。我有一个旧的SVN服务器(1.4之前)开始,所以这里是发生了什么 HgSubversion不想从主干中提取完整的历史记录,所以我做了一个肤浅的转换 我的同事们对SVN做了最后一次承诺,我把他们拉进了Hg 我们搬到了Hg,开始向它推进 为了安全起见,我的一位同事对SVN做了更多的承诺 我设法升级了SVN服务器,并获得了新SVN的完整回购 HgSubversion成功地拉入了完整的历史记录-包括少数额外/重复提交 现在我想将浅

我一直在从subversion迁移到mercurial,这造成了一些混乱。我有一个旧的SVN服务器(1.4之前)开始,所以这里是发生了什么

  • HgSubversion不想从主干中提取完整的历史记录,所以我做了一个肤浅的转换
  • 我的同事们对SVN做了最后一次承诺,我把他们拉进了Hg
  • 我们搬到了Hg,开始向它推进
  • 为了安全起见,我的一位同事对SVN做了更多的承诺
  • 我设法升级了SVN服务器,并获得了新SVN的完整回购
  • HgSubversion成功地拉入了完整的历史记录-包括少数额外/重复提交
  • 现在我想将浅层mercurial存储库中的提交“移植”到完整的历史记录中,存储库在内容上是相关的,但在mercurial哈希中是不相关的。除了复制粘贴内容,迁移更改的最佳方式是什么?最终每个人都应该能够:

  • 切换具有完整历史记录的Hg回购并继续工作
  • 将适当的压缩/重定基础变更集的Hg回购自动推送到SVN作为服务用户
  • 我想要一个具有以下场景的具体示例

    • 步骤2-A中的最后一个mercurial哈希
    • 步骤3-B之后的当前mercurial哈希
    • 从升级的SVN-C拉取后的最后一次提交哈希
    • 完整SVN历史拉取-D后的步骤2提交哈希

    我不太擅长ASCII艺术,可以随意添加一个以获得额外积分。

    上周我们在工作中进行了CVS->Mercurial迁移。就像你的情况一样,一些人在一段时间内继续使用CVS

    为了在CVS服务器最终关闭时同步这两个存储库,我执行了以下操作:

  • 通过cvs2hg将CVS转换为mercurial
  • 使用hg导出导出每个新版本
  • 使用hg补丁导入补丁文件
  • 只有十几次修改,所以这没什么大不了的。。。如果你有更多的修改,你可以看看移植的扩展


    希望这有帮助。

    我将不得不尝试补丁/导出组合。我们有一个外部生产SVN回购-关于将mercurial推回到SVN的想法?不知道抱歉,也许可以尝试查看mercurial挂钩机制