On Fri, Feb 26, 2010 at 6:36 AM, Sergei Golubchik <serg@askmonty.org> wrote:
Hi, MARK!
On Feb 25, MARK CALLAGHAN wrote:
I know this question is more about official MySQL than MariaDB, but it is also about sharing code we write at Facebook and all of the patches we publish can be reused by others as long as others accept BSD contributions.
I am getting ready to publish facebook patches for mysql 5.1. We use git internally and are based on MySQL 5.1.44. We intend to stay current with 5.1 releases. What is the best way to manage the code in launchpad across new releases of official MySQL. My current plan is:
1) import MySQL 5.1.44, commit 2) apply patches from my git repo to my bzr repo, commit after each one 3) publish
But there will soon be a release of 5.1.45 or 5.1.46 and I don't want to repeat the steps above each time that happens. Do I just publish a large patch for 5.1.44 -> 5.1.4X and get on with my work? Is there a better way?
The least labor-intensive path, I think, could be something like Branch mysql-5.1 tree (say, up to tag:mysql-5.1.44), apply your patches and commit. One commit per logical patch, as usual.
Then when 5.1.45 comes out you rebase (not merge) your tree to tag:mysql-5.1.45. Some merges you'll need to resolve manually, others bzr can handle automatically.
When done, you'll still have your patches on top of the tree, and you can trivially extract them (e.g. with bzr log -p) and publish them. If you merge instead of rebasing, you'll have old patches in the tree and merge changes spread over many merge changesets.
That is the advice I need. Thanks. -- Mark Callaghan mdcallag@gmail.com