Proposal for branching policy towards KF5

David Faure faure at kde.org
Thu Jul 18 23:21:21 BST 2013


After more live discussion with Sebas and Marco plus Aaron over a video chat, 
we came up with the following setup for the workspace repos (*) :

- the development branch for their next feature release (based on Qt5/KF5) 
will be "master".
- *before* this happens, however, kdesrc-build / kde-build-metadata / 
projects.kde.org will need to be improved so that tools (kdesrc-build and 
possibly build.kde.org) can automatically select "the latest Qt4-based branch"
(i.e. master everywhere and 4.11 for the workspace repos), on demand.
This would also be the opportunity to implement "latest *stable* branch" which 
is 4.11 for most modules right now, but could be at some point 4.12 for most 
and 4.11 for workspace repos.
Adding a similar generic selection for qt5/kf5, we would end up giving 3 
options to people who compile from sources: stable, latest-qt4, or qt5/kf5-
based.

I see this as kind of layer on top of the actual branch names (an indirection, 
in other words).

This gives us consistency for everyone:
* for contributors to a specific module, "master" is where new features should 
go
* for people who compile many modules that are supposed to be working 
together, a "logical selection layer" can be selected, stable, latest-qt4, or 
qt5-kf5.

What's not consistent is that kdelibs uses a different scheme for now, but if 
the workspace workflow experiment shows to be a success, which also means the 
tools work well with that, we can switch kdelibs to the same solution later. 
(and the apps even later).

<implementation>
Michael: I see two ways this could be done in kdesrc-build. Either with the 
selection layers being defined by the projects XML and some additional magic 
in branch selection to allow for these new names, or with a much more low-tech 
solution: 3 available files to include from kdesrc-buildrc, like we did with 
kf5-qt5-build-include, except that these files would only contain module-
options (yet another reason for that feature to exist), not actual module 
definitions. The user's kdesrc-buildrc would still define which module he/she 
wants to build, but the included file would define which branch should be used 
for each module (unless overriden, of course).
</implementation>

At this point I think this still needs a green light from the release team, 
though.

To be clear: this means no kde-workspace 4.12, only 4.11.x with increasing 
values of x. Maintainance mode, much like KDE 3.5.x went.
If everything works ok, we could switch kdelibs to that too, as was originally 
the plan.

(*) kde-workspace, plasma-frameworks, please complete this list if there are 
more.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5





More information about the kde-core-devel mailing list