移植的作用似乎是从变更集中制作补丁并将其应用于目标之上,类似于qimport -r
然后qpush
。
因此,当一些帅哥无法申请时,你会得到拒绝文件并且必须手动“修复合并”。
有没有办法运行类似于rebase
的视觉合并?
毋庸置疑,我不得不使用移植而不是rebase,因为我不想包含所有后代变更集,即我正在挑选。
我会发布一个我想到的自我答案,但我想知道是否有一个简单/更好的方式。
答案 0 :(得分:0)
这种自我答案实际上根本不使用移植手术。想法是像往常一样合并,然后恢复到合并和提交。
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
时,我只能选择我想要的文件。