将两个Mercurial存储库合并为一行修订版 [英] Join two Mercurial repositories into one line of revisions

查看:83
本文介绍了将两个Mercurial存储库合并为一行修订版的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

创建了两个不相关的" 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆