[Kde-scm-interest] Layout of the Git repositories for KDE (proposal #2)
Thiago Macieira
thiago at kde.org
Mon Nov 5 17:05:35 CET 2007
Em Monday 05 November 2007 16:42:37 Johannes Sixt escreveu:
> 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?
See my other email. I expressed myself wrong.
> > 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.]
Yes, releases/KDE.git still exists. The releases/ tree is unchanged from the
previous proposal.
And releases/KDE.git is not the same repository as meta/KDE.git (or
stable/KDE.git in the old proposal). Note the existence of kde-l10n.git
inside it, for instance. The releases repository is just for the tagging.
> 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.
Yep, but this is meta/KDE.git in this proposal. I.e., all developers must have
push access to all the meta repositories.
> > 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 ;)
That's my original proposal, but I felt it had a drawback when repositories
get renamed or moved. Now I don't think that's an issue because the
supermodule repositories' old commits don't have to be updated.
So my currently preferred proposal is a mix of the two: the first one, plus:
- the kdereview and the playground/*.git repositories are supermodules
WITHOUT directories associated. They refer to repositories in projects/ or
outside the KDE servers.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-scm-interest/attachments/20071105/1791edf4/attachment.pgp
More information about the Kde-scm-interest
mailing list