我们如何将特定分支移动到新存储库并保持连接回来?

时间:2012-10-16 20:11:16

标签: mercurial

这是我想做的事情:

  • 我们有5.X产品的存储库。
  • 我们有分别为5.0,5.1,5.2,5.3等。
  • 我们有6.0即将到来。
  • 我们想为6.X创建一个全新的存储库。

但是,这就是问题。我们希望能够:

  • 将新的6.X存储库放在5.x存储库的“最右边”端
    • 即“5.last”分支
  • 迁移/合并前向维护更改以及我们对5.X分支从那里到6.X存储库的其他修复。

换句话说,我们希望有两个存储库,它们就像一个大存储库。

这可能吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

“Mercurial中的分支指南”,Branching with ClonesBranching with Named Branches的混合

您将使用这两种方法

  • Repo R5与开发分支V5
  • Repo R6与开发分支V6

无论R6将如何发布:克隆并剥离旧的变更集,从R5导出提示并将其作为第一个cset添加到R6中。只有结果才有意义:R5和R6具有主线开发的不同分支

“外部”存储库必须出现在路径部分并通过pull | push使用-b选项执行同步,其中-b中的BRANCHNAME是外部存储库中主线开发的分支名称

在pu(ll | sh)之后合并分支并获得乐趣

答案 1 :(得分:1)

这是不可能的,因为没有它的祖先,节点就不可能存在。变更集只不过是与父亲的差异。如果你想让Repo6从Repo5接收变更集,它必须包含整个内容。