Mercurial 中的 Reparenting:如何将两个独立的 svn 克隆重新组合在一起?

2024-02-17

情况是这样的:开发人员 Foo 从我们的 svn 存储库创建了一个 hg 存储库。 Foo 的 hg repo 只是 svn 中主干的浅层克隆(没有 svn 分支、标签等,并且历史记录不完整[大约 100 个变更集])。开发人员 Bar 做了同样的事情,但克隆了整个 svn 存储库,包括整个历史记录、分支、标签等。Foo 和 Bar 都在其存储库上进行了分支开发。

两个存储库都有一个共同的 SVN 祖先,但每个 hg 存储库都有不同的版本号。我想将 Foo 的更改从共同祖先重新分配到 Bar 的存储库上。这是我正在寻找的图表:

Foo 的仓库:

C'-D'-E-F---G
       \   /
        H-I

酒吧的回购:

...A-B-C-D-J-K---L
            \   /
             M-N

C,C' 和 D,D' 内容相同,但版本号和注释不同。

目标:

...A-B-C-D--E-F---G
          \  \   /
           \  H-I
            \
             J-K---L
              \   /
               M-N

我已经没有关于如何实现这一目标的想法了。我尝试了convert --splicemap splice.map [splice.map文件包含E D](没有做任何事情)。 Clone -f 设法将所有内容放入一个存储库中,但它们似乎是独立的树。在clone -f之后,我尝试了rebase --source E --dest D --detach,但它只是崩溃了:(

Ideas?

我知道更改历史记录将使任何人的存储库克隆无效,在这种情况下这不是问题。所有用户都将从这一努力的结果中重新克隆。


SOLVED!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mercurial 中的 Reparenting:如何将两个独立的 svn 克隆重新组合在一起? 的相关文章

随机推荐