List:Internals« Previous MessageNext Message »
From:Guilhem Bichot Date:March 5 2010 10:43am
Subject:Re: I want to share, but bzr/launchpad won't let me
View as plain text  
Hi Mark,

MARK CALLAGHAN a écrit, 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 
this 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 
forever at deletion time ("bzr rm").
So your configure.in imported from 5.1.44.tar.gz has file id X whereas 
the 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 
conflict 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 
not exist in 5.1-launchpad (no file with the same file id) so the change 
to it cannot be propagated.

That explains well "Contents conflict in configure.in" and the same for 
the 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":
   -c ARG, --change=ARG  Select changes introduced by the specified 
revision.

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, 
and 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.

-- 
Mr. Guilhem Bichot <guilhem@stripped>
Sun Microsystems / MySQL, Lead Software Engineer
Bordeaux, France
www.sun.com / www.mysql.com
Thread
I want to share, but bzr/launchpad won't let meMARK CALLAGHAN26 Feb
  • Re: I want to share, but bzr/launchpad won't let meJonas Oreland26 Feb
  • Re: I want to share, but bzr/launchpad won't let meDavi Arnaut26 Feb
    • Re: I want to share, but bzr/launchpad won't let meStewart Smith1 Mar
      • Re: I want to share, but bzr/launchpad won't let meGuilhem Bichot5 Mar
        • Re: I want to share, but bzr/launchpad won't let meJonas Oreland5 Mar
          • Re: I want to share, but bzr/launchpad won't let meGuilhem Bichot5 Mar
            • Re: I want to share, but bzr/launchpad won't let meJonas Oreland5 Mar
  • Re: I want to share, but bzr/launchpad won't let meGuilhem Bichot5 Mar
    • Re: I want to share, but bzr/launchpad won't let meMARK CALLAGHAN17 Mar