From: MARK CALLAGHAN Date: March 16 2010 11:41pm Subject: Re: I want to share, but bzr/launchpad won't let me List-Archive: http://lists.mysql.com/internals/37803 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Fri, Mar 5, 2010 at 3:43 AM, Guilhem Bichot wrote: > Hi Mark, > > MARK CALLAGHAN a =E9crit, Le 26.02.2010 22:21: >> >> I am trying to publish the Facebook patch for MySQL 5.1. Not knowing >> that 5.1 releases are tagged in the 5.1 launchpad branch, I started by >> importing source from mysql-5.1.44.tar.gz and then did one commit per >> commit from our local git repo. I want to import those commits to a >> branch I made based on the 5.1.44 tag of the MySQL 5.1 branch in >> launchpad. Apparently, that isn't trivial as the merge command does >> way more than apply the specified revision. For the command below >> '/s/bzr/fb/5.1' is my bzr branch that started from the import of >> mysql-5.1.44.tar.gz and the command is run in the branch created by >> "bzr branch -r tag:mysql-5.1.44 5.1 5.1facebook" > > Sorry for late reply, I was on vacation. Maybe you have already sorted th= is > out with the help of Davi's comments. His explanation about file_id makes > sense, please see below. > > When you imported mysql-5.1.44.tar.gz and committed those files, bzr gave > them "file ids". > The id of a file is a unique id which is assigned by bzr at creation time > (by "bzr add") and not changed through renames ("bzr mv"), and lost forev= er > at deletion time ("bzr rm"). > So your configure.in imported from 5.1.44.tar.gz has file id X whereas th= e > one in the 5.1 branch on Launchpad has file id Y. So bzr treats them as > completely unrelated. > > You changed configure.in; when this change is merged, bzr issues a confli= ct > because propagating the change, to the file in the 5.1-launchpad branch, = is > impossible as that file is distinct from the one in your 5.1.44.tar.gz > branch (different file id). > Or, interpreted differently, the file of your 5.1.44.tar.gz branch does n= ot > exist in 5.1-launchpad (no file with the same file id) so the change to i= t > cannot be propagated. > > That explains well "Contents conflict in configure.in" and the same for t= he > other file touched by the patch. > > The fact that other files, not touched by the patch, like the "BUILD" > directory, cause conflicts, is a mystery. It looks in contradiction with > "bzr help merge": > =A0-c ARG, --change=3DARG =A0Select changes introduced by the specified r= evision. > > I repeated the problem on my machine, with bzr 2.1 and 1.17, with "bzr > merge" and "bzr merge --weave", and also with "bzr merge -r1..2". > > If you haven't already filed a bzr bug report about this, let me know, an= d I > will. > > Going forward, the quick solution is probably to throw away your > 5.1.44-tar-gz branch, get a 5.1-launchpad branch, apply your patches, and > publish that. Hello Guilhem, Thanks for the response. I ended up starting over and applying one patch at a time to a branch that was started as a branch of MySQL 5.1 in launchpad. Now I can stay current with changes published by MySQL. I did not file a bzr bug. --=20 Mark Callaghan mdcallag@stripped