将两个Mercurial存储库合并到一行修订中

将两个Mercurial存储库合并到一行修订中,mercurial,Mercurial,创建了两个“不相关”的Mercurial存储库: user@SERVER ~/mercurialtest $ cd jointest/ user@SERVER ~/mercurialtest/jointest $ hg init beginning user@SERVER ~/mercurialtest/jointest $ hg init end user@SERVER ~/mercurialtest/jointest $ cd beginning/ user@SERVER ~/mer

创建了两个“不相关”的Mercurial存储库:

user@SERVER ~/mercurialtest
$ cd jointest/

user@SERVER ~/mercurialtest/jointest
$ hg init beginning

user@SERVER ~/mercurialtest/jointest
$ hg init end

user@SERVER ~/mercurialtest/jointest
$ cd beginning/

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg add data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr 1 in beginning"

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr 2 in beginning"

user@SERVER ~/mercurialtest/jointest/beginning
$ echo "something old..." >> data.txt

user@SERVER ~/mercurialtest/jointest/beginning
$ hg commit -m "Nr 3 in beginning"

user@SERVER ~/mercurialtest/jointest/beginning
$ cp -v data.txt ../end/
`data.txt' -> `../end/data.txt'

user@SERVER ~/mercurialtest/jointest/beginning
$ cd ../end

user@SERVER ~/mercurialtest/jointest/end
$ hg add data.txt # No shared changeset

user@SERVER ~/mercurialtest/jointest/end
$ hg commit -m "Nr 1 in end"

user@SERVER ~/mercurialtest/jointest/end
$ echo "new stuff..." >> data.txt

user@SERVER ~/mercurialtest/jointest/end
$ hg commit -m "Nr 2 in end"

user@SERVER ~/mercurialtest/jointest/end
$ echo "new stuff..." >> data.txt

user@SERVER ~/mercurialtest/jointest/end
$ hg commit -m "Nr 3 in end"
有可能吗?我如何将它们连接到一个存储库中?我想从两个独立的存储库
start=“o-o-o”
end=“o-o-o”
(总共有六次提交),它们在
o
中的内容完全相同,转到一个存储库
加入
(总共有五次提交)


我的理由是,我已经将两个分支转换为它们自己的存储库,但我真的希望它们放在一个存储库中。除此之外,我还没有将转换作为独立的存储库来工作。

可以使用
--splicemap

将它们连接起来吗?为什么不面对面呢?就在上面把它们合并起来?历史将开始发散,但在合并头合并。这还不够好吗?请注意,在示例脚本中,
end
存储库中的第一个变更集与
start
存储库中的第三个变更集不同。您复制了文件,但没有提交,因此提交了一个更改的文件。换句话说,第一个变更集相当于另一个存储库的最后一个变更集+一些东西。我想我需要加入他们的行列。回购协议的起源与如何使用Visual Source Safe(以及应该如何?我不知道)完成工作有关。无论如何,这两个分支的工作都将以错误修复的形式继续进行我想我现在修好了。