>>>> You can find the code here:
>>>> https://launchpad.net/bzr-tp/trunk >>>> This will give some more details on how to use it:
>>>> bzr help transplant
>>> Could you describe (or point to a description) of what it actually does?
>> Could be seen like an inter-project merge tool, where history is kept
>> (including merges), as long as the "transplanted" revisions affect
>> files identified as "transplantable".
>> For example, emacs->cedet synchronization would transplant files
>> "lisp/emacs-lisp/eieio\(.*\).el" from emacs into
>> "lisp/eieio/eieio\1.el" in cedet, where cedet controls what to
>> transplant and when (transplant metadata is committed into the cedet
> I understand that, but I don't understand how it does it. It seems like
> it works a bit like a "rebase". So, what does "history is kept"
> mean exactly? Will a "bzr tp-from" (once "tp-from-finish"ed) appear
> as a merge in the DAG?
AFAIU it's a mix between rebasing and merging, as the shape of the DAG in the
transplanted revisions from "emacs" should be kept in "cedet".
Example of log showing all levels (-n 0) in "emacs" (c* are the commit
* [merge] c3
Assuming "c1" was already transplanted into cedet sometime in the past, this is
what you should get after the transplant from "emacs" into "cedet":
* [merge] Transplant from 'emacs': <revid of c2>..<revid of c7>
Transplant from 'emacs': <revid of c2>
* [merge] c3
Transplant from 'emacs': <revid of c3>
Transplant from 'emacs': <revid of c4>
Transplant from 'emacs': <revid of c5>
Transplant from 'emacs': <revid of c6>
Transplant from 'emacs': <revid of c7>
Sorry if I haven't used the appropriate bazaar concepts.
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom