← Back to team overview

maria-developers team mailing list archive

Re: request for advice on managing a mysql patch in bzr


Hi Mark

On 26/02/2010, at 3:14 AM, 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

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?

OurDelta uses Quilt for the patchset in 5.0 and that works reasonably well. Quilt has the ability to refresh patches, so you can have the patch updated after line numbers shift between versions, before things break. And because they're still individidual patches, breakages are generally fairly easy to resolve.
A "big patch" would not be so lucky, I reckon.

Quilt itself already takes care of much of the hassle, but you could even automate the apply/refresh process completely through a simple script. So I think you do want to repeat the steps for each version, but you can make that process fairly hasslefree/quick.

For ref, Quilt is used by some Linux kernel people who manage thousands of patches.

Arjen Lentz, Exec.Director @ Open Query (http://openquery.com)
Exceptional Services for MySQL at a fixed budget.

Follow our blog at http://openquery.com/blog/
OurDelta: packages for MySQL and MariaDB @ http://ourdelta.org