压缩存储库中的所有父节点



我删除了我的最后一个问题,因为我想我会问一个更简单的问题:是否有一种方法可以压缩节点的所有父节点(基本上,"假装存储库从这里开始")。

所以转

 o---o----o---o----o ....... x--+--+----+--+----+
                 /                          /
      o---o---o----o                  *----*---*

 x--+--+----+--+----+
          /
  *----*---*

(如果我能修改x就更好了,但乞丐不能挑肥拣瘦)

我是这样做的:创建一个新的repo,它将具有您想使用的转换扩展的历史:

  1. 将源代码库更新到新的"初始提交"(图中的x)
  2. 复制(文件复制,而不是克隆!)到目标目录和hg init一个新的repo
  3. 使用hg convert--splicemap选项来表示"从源repo中的版本x开始,并将其应用于目标repo中的版本0"。例:(注:未测试!)
    hg convert --splicemap splicemap.txt .old-repo .new-repo
    splicemap.txt
    [hash-of-x-in-old-repo] [hash-of-x-in-new-repo]
  4. 我然后压缩源库,以防我再次需要它:)

最新更新