[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