It seems like what transplant does is to make a patch out of the changeset(s) and apply it on top of the target, similar to qimport -r
then qpush
.
Therefore when some hunks fail to apply, you'd get reject files and have to "fix up the merge" manually.
Is there a way to run visual merge similar to rebase
?
Needless to say, I have to use transplant instead of rebase because I don't want to include all descendant changesets, i.e. I'm cherry picking.
I'll post a self-answer that I have in mind, but I wonder if there's an easy/better way.
This self-answer doesn't actually use transplant at all. The idea is to merge as usual, then revert to the merge and commit.
At the end, changeset
c3
is "safely" transplanted ontoc2
.Another nice thing about this approach is that when I do
revert
, I can choose only the files I want.