From: MARK CALLAGHAN Date: June 18 2010 10:59pm Subject: Re: questions about merging the facebook patch to tag:mysql-5.1.47 List-Archive: http://lists.mysql.com/internals/37949 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable For an easy reproduction case of something that should have been a trivial = merge bzr branch -r tag:mysql-5.1.47 5147local bzr branch -r 3365 5147local repro cd repro vi storage/innodb_plugin/data/data0data.c --> add one line of text, storage/innodb_plugin/data0data.c was deleted & added by r3366 bzr commit bzr merge -v -r 3366 ../5147 >& /tmp/r3366 & interesting lines from the output of 'bzr merge' +N storage/innodb_plugin/data/data0data.c RM storage/innodb_plugin/data/data0data.c =3D> storage/innodb_plugin.moved/data/data0data.c.THIS Conflict: can't delete storage/innodb_plugin.moved because it is not empty. Not deleting. Conflict adding file storage/innodb_plugin. Moved existing file to storage/innodb_plugin.moved. Conflict because storage/innodb_plugin.moved is not versioned, but has versioned children. Versioned directory. Conflict: can't delete storage/innodb_plugin.moved/data because it is not empty. Not deleting. Conflict because storage/innodb_plugin.moved/data is not versioned, but has versioned children. Versioned directory. Contents conflict in storage/innodb_plugin.moved/data/data0data.c On Fri, Jun 18, 2010 at 1:25 PM, MARK CALLAGHAN wrote: > I publish changes from a local MySQL branch at > http://launchpad.net/mysqlatfacebook/51 > > > I need to merge changes from mysql 5.1.47 and use a command like: > bzr merge -v -r tag:mysql-5.1.47 /s/bzr/mysql/5.1 > > In this case /s/bzr/mysql/5.1 has > bzr+ssh://bazaar.launchpad.net/~mysql/mysql-server/mysql-5.1 > > > > I have merged without problems to r3365 > bzr merge -v -r 3365 /s/bzr/mysql/5147 > > In this case /s/bzr/mysql/5147 has bzr branch -r tag:mysql-5.1.47 > /s/bzr/mysql/5.1 5147 > > Things go bad at r3366 > bzr merge -v -r 3365 /s/bzr/mysql/5147 > > I get lots of conflicts like this: > Text conflict in sql/slave.cc > Conflict: can't delete storage/innodb_plugin.moved because it is not > empty. =A0Not deleting. > Conflict adding file storage/innodb_plugin. =A0Moved existing file to > storage/innodb_plugin.moved. > Conflict because storage/innodb_plugin.moved is not versioned, but has > versioned children. =A0Versioned directory. > Conflict: can't delete storage/innodb_plugin.moved/btr because it is > not empty. =A0Not deleting. > Conflict because storage/innodb_plugin.moved/btr is not versioned, but > has versioned children. =A0Versioned directory. > Contents conflict in storage/innodb_plugin.moved/btr/btr0btr.c > Contents conflict in storage/innodb_plugin.moved/btr/btr0cur.c > Contents conflict in storage/innodb_plugin.moved/btr/btr0pcur.c > Contents conflict in storage/innodb_plugin.moved/btr/btr0sea.c > > And I can see things like this from the command output. I don't > understand why a directory would have a change -- but I am not skilled > with bzr > +N =A0mysql-test/suite/innodb_plugin/ > > The contents of r3366 might be interesting. It looks like > storage/innodb_plugin was recursively deleted and then added by this > change. > Why was that done? > Does that mean that people like me who maintain our own trees and want > to merge now have a lot more work to do? > > I merged to 5.1.46 a few months back without any problems like this. > > ------------------------------------------------------------ > revno: 3366 [merge] > committer: Kristofer Pettersson > branch nick: mysql-5.1-bugteam > timestamp: Mon 2010-05-03 19:21:09 +0200 > message: > =A0Automerge > removed: > ... > =A0storage/innodb_plugin/ > =A0storage/innodb_plugin/CMakeLists.txt > =A0storage/innodb_plugin/COPYING > =A0storage/innodb_plugin/COPYING.Google > =A0storage/innodb_plugin/COPYING.Percona > =A0storage/innodb_plugin/COPYING.Sun_Microsystems > added: > ... > =A0storage/innodb_plugin/ > =A0storage/innodb_plugin/CMakeLists.txt > =A0storage/innodb_plugin/COPYING > =A0storage/innodb_plugin/COPYING.Google > =A0storage/innodb_plugin/COPYING.Percona > =A0storage/innodb_plugin/COPYING.Sun_Microsystems > =A0storage/innodb_plugin/ChangeLog > =A0storage/innodb_plugin/Doxyfile > > > > -- > Mark Callaghan > mdcallag@stripped > --=20 Mark Callaghan mdcallag@stripped