似乎移植所做的是从变更集中制作一个补丁并将其应用到目标之上,类似于qimport -r
then qpush
。
因此,当某些大块头无法申请时,您会收到拒绝文件并且必须手动“修复合并”。
有没有办法运行类似于的视觉合并rebase
?
不用说,我必须使用移植而不是变基,因为我不想包含所有后代变更集,即我正在挑选樱桃。
我会发布一个我想到的自我答案,但我想知道是否有简单/更好的方法。
似乎移植所做的是从变更集中制作一个补丁并将其应用到目标之上,类似于qimport -r
then qpush
。
因此,当某些大块头无法申请时,您会收到拒绝文件并且必须手动“修复合并”。
有没有办法运行类似于的视觉合并rebase
?
不用说,我必须使用移植而不是变基,因为我不想包含所有后代变更集,即我正在挑选樱桃。
我会发布一个我想到的自我答案,但我想知道是否有简单/更好的方法。
这个自我回答实际上根本没有使用移植。这个想法是像往常一样合并,然后恢复到合并和提交。
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
.
这种方法的另一个好处是,当我这样做时revert
,我只能选择我想要的文件。