[Development] When doing source incompatible changes ...

Simon Hausmann simon.hausmann at digia.com
Fri Nov 30 09:40:57 CET 2012


... pretty please (with a red cherry on top) give everyone a heads-up ahead of 
time.

This is the second time within the same week that a source incompatible change 
is staged _before_ giving a heads-up. (QStyle subclasses on Monday)

The renaming of QQuickItem::pos() to position() is certainly a good change, 
but it breaks source compatibility on C++ and QML level. Consequently it broke 
the build of WebKit, something that is trivial to spot with a top-level 
qt5.git build.

Now WebKit is developed outside of Gerrit and we depend on a fixed version of 
qt5.git that we advance regularly. Therefore whenever a source incompatible 
change occurs, the WebKit that we use for development (trunk) gets out of sync 
with the webkit that is in qt5.git. It's okay if they get out of sync for a 
few days, but there are good times and bad times for this. This week is a bad 
time, because we're trying very very hard to make a release and the two being 
in sync is crucial for testing and development.

If this had come with a heads-up, then we could have negotiated, we could have 
prepared for this change and brought it in line with our changes (mainly the 
library split).

In addition due to this change the other crucial change required for proper 
branching (https://codereview.qt-project.org/#change,41023) didn't make it 
last night and is trying to integrate now (preventing _other_ qt5.git 
integrations from running instead).


Somehow we'll make it work though. I don't know how yet, but I'm confident we 
will. But please please please please when you're going to these changes, give 
a heads-up _before_ staging it.



Simon

P.S.: The same thing is going to happen during the Qt 5 cycles as well, when 
new API gets introduced and then we realize that the new API needs to be 
changed before the release and existing modules need to be adapted.



More information about the Development mailing list