Is it possible to merging revisions seletivelly from one branch into another
François Gannaz
francois.gannaz at free.fr
Tue Jun 29 10:20:44 UTC 2010
Le 2010-06-29, Didly <didlybom at gmail.com> :
>
> I had heard about the transplant extension, but I did not understand the
> difference between transplant and rebase. It seems that transplant "copies"
> the selected revisions into another branch, while rebase "moves" them
> instead, am I right?
That's right, except that "revisions" should be replaced by "changesets".
So rebase just reorders the changesets history. It usually decreases the
number of nodes, but it won't create changsets with different data.
In http://mercurial.selenic.com/wiki/RebaseProject you can see new changesets
(marked with ') but they all contain the same data (C' is similar to C but has
different parents).
> However, the transplant documentation says that it is not too compatible
> with merging, yet it describes a strategy that the author means "to
> integrate into the transplant extension soon". Do you guys know if the
> suggested change to the extension has already been done?
You could have a look at Mercurial's log (`hg grep` is great!). Or maybe the
author of the extension will answer.
> That is, is it safe to use merge after having used transplant on a branch?
I have little (but pleasant) experience with transplant. So far, it launched a
diff3 tool only once. But most of the time I was transplanting really
independent change sets.
> Also, does the log somehow indicate transplanted extensions?
`hg log --debug` shows an extra line for transplanted changesets:
extra: transplant_source=[...]
But I suggest using `hg transplant --log`. It appends to the description:
(transplanted from 95f84bc6e13787a0c38e4cd463897a154683e1e5)
Regards
--
François
More information about the Mercurial
mailing list