将两个Mercurial存储库合并为一行修订版 [英] Join two Mercurial repositories into one line of revisions
问题描述
创建了两个不相关的" Mercurial存储库:
Two "unrelated" Mercurial repositories are created:
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"
有可能吗,如何将它们一起合并到一个存储库中?我想从两个单独的存储库beginning="o-o-O"
,end="O-o-o"
(具有六个提交的总计)中,它们在O
中具有完全相同的内容,从而一个存储库 joined="o-o-O-o-o"
(总共提交了5次).
Is it possible and how do I join them together into one repository? I want to go from two separate repositories beginning="o-o-O"
, end="O-o-o"
(with a total of six commits) where they have exactly the same content in O
to one repository joined="o-o-O-o-o"
(with a total of five commits).
我的原因是我已将两个分支转换为它们自己的存储库,但我确实希望将它们合并在一个中.除这种方式外,我还没有将转换工作作为单独的存储库来工作.
My reason is that I have converted two branches into their own repositories, but I really want them in one instead. I haven´t gotten the convert to work except this way, as separate repositories.
推荐答案
转换扩展名可以使用--splicemap
来做到这一点.
The convert extension can do that, using --splicemap
.
这篇关于将两个Mercurial存储库合并为一行修订版的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!