Comment 23 for bug 40412

Revision history for this message
GuilhemBichot (guilhem-bichot) wrote :

Back to the topic of "how good is the .BASE file generated by --weave", I just conducted another experiment.
I reproduced the criss-cross merge which led John to do all the work on improving --weave in Summer 2008 (the big support incident #00002413). It was a criss-cross merge of 5.1-telco-6.2-merge (<email address hidden>) into 6.0-ndb (<email address hidden>) (both can be branched from mysql-6.0-codebase-bugfixing on launchpad).
With --weave it gives 10 text conflicts.
The "gut feeling base" for this merge is the tip revision of 5.1-telco-6.2-merge during the *previous* 5.1-telco-6.2-merge->6.0-ndb merge (done a few months before).
It is *roughly* true that from this base, 5.1-telco-6.2-merge and 6.0-ndb diverged, and the merge I experimented with, has to reconcile this divergence.
It's only roughly true, precisely because the merge is criss-cross: it has multiple bases as the following debug printouts show:
[bzr_regression_test/6.0-ndb-take2 $] bzr log -r ancestor:../5.1-telco-6.2-merge
find_unique_lca step 1 input: ['<email address hidden>', '<email address hidden>']
find_unique_lca step 2 input: set(['sp1r-knielsen@loke.(none)-20080407060456-28260', 'sp1r-kostja@bodhi.(none)-20080520184326-10676', '<email address hidden>'])
                                                           ^^^^^^^^ this one is what I call the "gut feeling" base.
It's gut feeling but it's practically correct due to how we work in MySQL.
And when I compare the .BASE files generated by --weave, and the files of the "gut feeling base", they are close. It's understandable that they differ, because the "gut feeling base" is not really a base.
So I say "those BASE files are good work!".