[Kde-scm-interest] Layout of the Git repositories for KDE (proposal #2)
Johannes Sixt
j.sixt at viscovery.net
Mon Nov 5 16:42:37 CET 2007
Thiago Macieira schrieb:
> After realising that we don't have to keep the history of the supermodules, I
> came up with a different idea. Here's it:
Of course, you need to track the history of supermodules. How else would you
handle atomic cross-module commits?
> meta/
> all.git -- matches subversion's trunk
> kdesupport.git
> KDE.git
> kdereview.git
> extragear.git
> extragear-libs.git
> extragear-base.git
> extragear-multimedia.git
> extragear-network.git
> playground-libs.git
> playground-base.git
> playground-nonkde.git
> [...]
If there are two parallel structures, release/ and devel/, then you cannot
get away with a single distribution point for the supermodules. At the
least, release/KDE.git is needed. [And, technically, that's the only module
that needs a tag like KDE_4_2, because that commit implies the commits in
the submodules.]
But then you also needed stable/KDE.git. Think of a cross-module change:
* I change some API in kdelibs.
* Then I need to update kdebase, etc.
* In order to make the change atomic, I must make a commit in KDE.git that
includes *my* new states of kdelibs, kdebase, etc.
* I must make this commit available to others, else they see inconsistencies.
* Where do I do that? stable/KDE.git is the only reasonable place.
> The idea here is that stable/ is a *flat* tree with repositories. It can be a
> list as long as http://git.kernel.org. It doesn't really matter. Technically,
> the same layout of stable/ could be applied to releases/.
>
> The important thing is that the organisation of KDE is reflected in the meta
> repositories -- i.e, the supermodules. We'd expect people to check out the
> meta repositories if they're interested in building KDE in general. If they
> are contributors to one or just a few modules, they can check out what they
> want exactly.
You are of course right here.
I still suggest to reflect the (logical) module hierarchy also in the
(physical) server layout. Simplicity is my only argument, though ;)
-- Hannes
More information about the Kde-scm-interest
mailing list