在mercurial,移植期间有没有办法合并?

时间:2011-04-18 19:49:00

标签: mercurial transplant

移植的作用似乎是从变更集中制作补丁并将其应用于目标之上,类似于qimport -r然后qpush

因此,当一些帅哥无法申请时,你会得到拒绝文件并且必须手动“修复合并”。

有没有办法运行类似于rebase的视觉合并?

毋庸置疑,我不得不使用移植而不是rebase,因为我不想包含所有后代变更集,即我正在挑选。

我会发布一个我想到的自我答案,但我想知道是否有一个简单/更好的方式。

1 个答案:

答案 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时,我只能选择我想要的文件。