This article is obsolete. We don't use bzr anymore. This howto needs to be rewritten to explain how to create a merge tree in git.
Merge tree in the context of this HOWTO is a tree created specifically to simplify merges of third-party packages into MariaDB. WIth a merge tree there's a clear separation between upstream changes and our changes and in most cases bzr can do the merges automatically.
Here's how I created a merge tree for pcre:
prerequisites: we already have pcre in the MariaDB tree, together with our changes (otherwise one can trivially create a bzr repository out of source pcre tarball).
create an empty repository:
mkdir pcre
cd pcre
bzr initdownload pcre source tarball of the same version that we have in the tree — pcre-8.34.tar.bz2
unpack it in the same place where the files are in the source tree:
Add files to the repository with the same file-ids as in the MariaDB tree!
All done. Commit and push
Now null-merge that into your MariaDB tree. Note, that for the initial merge you need to specify the revision range 0..1
Remove pcre files that shouldn't be in MariaDB tree, revert all changes that came from pcre (remember — it's a null-merge, pcre-8.34 is already in MariaDB tree), rename files in place as needed, resolve conflicts:
Verify that the tree is unchanged and commit:
Congratulations, your new merge tree is ready!
Now see .
This page is licensed: CC BY-SA / Gnu FDL
tar xf ~/pcre-8.34.tar.bz2
mv pcre-8.34 pcrebzr add --file-ids-from ~/Abk/mysql/10.0bzr commit -m pcre-8.34
bzr push --remember lp:~maria-captains/maria/pcre-mergetreecd ~/Abk/mysql/10.0
bzr merge -r 0..1 ~/mergetrees/pcre/bzr rm `bzr added`
bzr revert --no-backup `bzr modified`
bzr resolve pcrebzr status
bzr commit -m 'pcre-8.34 mergetree initial merge'