Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mercurial中,移植过程中有没有合并的方法?_Mercurial_Transplant - Fatal编程技术网

在mercurial中,移植过程中有没有合并的方法?

在mercurial中,移植过程中有没有合并的方法?,mercurial,transplant,Mercurial,Transplant,移植所做的似乎是从变更集中生成一个补丁,并将其应用到目标上,类似于qimport-r然后qpush 因此,当一些大块头无法应用时,您将获得拒绝文件,并且必须手动“修复合并” 是否有一种运行可视化合并的方法类似于重设基础 不用说,我必须使用移植而不是重基,因为我不想包含所有后代变更集,也就是说,我正在挑选 我会发布一个我心目中的自我回答,但我想知道是否有一个简单/更好的方法。这个自我回答实际上根本没有使用移植。其思想是像往常一样进行合并,然后恢复到合并并提交 hg init trans cd tr

移植所做的似乎是从变更集中生成一个补丁,并将其应用到目标上,类似于
qimport-r
然后
qpush

因此,当一些大块头无法应用时,您将获得拒绝文件,并且必须手动“修复合并”

是否有一种运行可视化合并的方法类似于
重设基础

不用说,我必须使用移植而不是重基,因为我不想包含所有后代变更集,也就是说,我正在挑选


我会发布一个我心目中的自我回答,但我想知道是否有一个简单/更好的方法。

这个自我回答实际上根本没有使用移植。其思想是像往常一样进行合并,然后恢复到合并并提交

hg init trans
cd trans
echo 1 > file
hg ci -A -m c1

echo 2 >> file
hg ci -A -m c2

hg up -r0
echo 3 >> file
hg ci -A -m c3

hg merge 1
hg ci -m merge

hg up -r1
hg revert --all -r3
hg ci -m "c3 transplant"
hg strip 3
最后,将变更集
c3
安全地移植到
c2

这种方法的另一个好处是,当我执行
还原
时,我只能选择我想要的文件