[Development] Coin news

Marc Mutz marc.mutz at kdab.com
Wed Oct 26 08:47:48 CEST 2016


On Tuesday 25 October 2016 10:55:34 Oswald Buddenhagen wrote:
> On Tue, Oct 25, 2016 at 07:22:41AM +0000, Jędrzej Nowacki wrote:
> > I would like to also remind everyone, that intermodule API changes need
> > to be merged in two steps. For example if you plan to change a method
> > "void foo()" in qtbase to "void foo(const QString&)", that would be the
> > right order of execution: 1. Commit a change to qtbase that _adds_ 
> > foo(const QString&)
> 
> 1a. wait for qt5 integration. 2 would not integrate in the submodules
> without 1 being in qt5 already.
> 
> > 2. Update all modules that use foo() to use foo(const QString&)
> > 3. Wait until Qt5(dev branch) submodule update, that gathers changes from
> > 1 and 2
> 
> only 2 at this point.
> 
> > 4. Remove old foo() from qtbase
> 
> 4a. wait again until the final qt5 integration to see it in packages.
> 
> so six steps in total. and it takes exactly as long as it sounds.
> 
> > If you do not follow we would have to revert your changes.

Alternatively, #define a macro in the upstream module when adding the new API, 
and check for it in the downstream module to decide which API to use. These 
two changes can then proceed independently, followed at any time after just 
one qt5.git integration by two clean-up commits.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts



More information about the Development mailing list