Hi Stewart & Kristian, I was not aware of this bit of magic! :) So to correct this I will have to redo the integration of PBXT is into MariaDB. I think it would also be best if I redid the integration of PBXT into the Drizzle/PBXT tree because some of the merges have been done manually, so the history is missing. Or would I get the same effect if I just followed Stewart's procedure and merged over the pbxt files that already exist (in the MariaDB and Drizzle/PBXT trees)? Best regards, Paul On May 11, 2009, at 7:17 AM, Stewart Smith wrote:
On Thu, May 07, 2009 at 02:18:02PM +0200, Kristian Nielsen wrote:
I thought a bit more about the issues of merging PBXT (and later XtraDB) changes into MariaDB. I would like to understand better how to do it.
The main bzr repositories of both PBXT and XtraDB contain just the storage engine, and have no common history. So as I understand it, I cannot just pull in the changes using bzr (I tried bzr merge, and got an error due to no common ancestor).
You can :)
With BZR you can merge two trees without a common ancestor. This is useful for things like storage engines, file systems, so when they're merged, you can bring the whole revision history in.
This is how I did it for PBXT and Drizzle:
bzr branch lp:drizzle drizzle-pbxt bzr branch lp:pbxt pbxt bzr branch pbxt pbxt-rename pushd pbxt-rename mkdir storage/pbxt
Is this correct, or should it be bzr mkdir storage/pbxt?
bzr mv * storage/pbxt/ bzr commit popd pushd drizzle-pbxt bzr merge ../pbxt-rename -r1..-1 (fix up a conflict on storage/ or something... pretty easy, this is just done so that auto merges happen on file ops in main pbxt) bzr commit
and then, when mainline pbxt is updated pushd drizzle-pbxt bzr merge lp:pbxt
and it magically works.
You cannot, however then merge back from drizzle-pbxt into pbxt - so either someone has to extract patches and deal with the no-op merge when coming back or all dev moves to drizzle-pbxt derived branches.
Since we have two sep trees (MariaDB and Drizzle) both merging in PBXT, it makes sense for PBXT development to continue in the PBXT tree and then we can both merge PBXT into our trees from it.
If we get patches and fixes back into the main PBXT tree, then I think we all live in some magic world of harmony :)
It should also be (relatively) easy for someone to whip up a script that automatically tests a PBXT commit against current Drizzle and MariaDB.
Hope this helps -- Stewart Smith
-- Paul McCullagh PrimeBase Technologies www.primebase.org www.blobstreaming.org pbxt.blogspot.com