[Kde-scm-interest] Layout of the Git repositories for KDE (proposal #2)

Thiago Macieira thiago at kde.org
Mon Nov 5 18:45:25 CET 2007


Em Monday 05 November 2007 17:32:45 Oswald Buddenhagen escreveu:
> On Mon, Nov 05, 2007 at 05:00:43PM +0200, Thiago Macieira wrote:
> > After realising that we don't have to keep the history of the
> > supermodules, I came up with a different idea. Here's it:
>
> now you're coming closer to what i imagined - i.e., something sane. ;-P

:-)

> there are a few key points to consider:
> - *no* repository ever gets moved or deleted once it was created.
>   anything else is just not going to work, both for current work
>   with the repos and for reproducing old revisions.

Where does it break down in the examples I posted?

I don't like the idea of keeping repositories in "trunk" 4 years after the 
last commit has been made to it. I do find that moving to unmaintained works 
best, because it doesn't clutter trunk.

> - that basically mandates that everything lives in one directory. to
>   avoid having 1000+ objects in one directory one could group the
>   repositories by application category, but *not* by maturity,
>   supermodule membership, etc.

Makes sense, agreed.

But the moment that you start to categorise, you open the door to 
re-categorisation too. That is, when a new category is added (say, "plasma"), 
some things will want to move because they match better (than, say, "base").

> - higher structure is represented exclusively by supermodules (three
>   level hierarchy - e.g, kdebase, KDE, everything. some apps might even
>   opt for a fourth private level to combine several components).
>   this makes it obvious why a fine granularity is crucial.

I don't agree with kdebase being a supermodule. I don't know if that's what 
you meant.

But I agree to the three-level hierarchy:
1) all.git supermodule, containing links to:
2) KDE.git, kdesupport.git, extragear-libs.git, playground-multimedia.git, 
etc., which links to:
3) module, application or library (kdebase.git, amarok.git, qca.git, etc.)

Note that there are exceptions to the rule: qt-copy & koffice, which are 
linked from all.git directly.

> the overall structure oriented on your proposal would be like this:
>
> trunk/ (or main/ or master/ or official/ - "stable/" seems just wrong to
>   me)

It's a marketing trick to get more people to use it :-)

> releases/ (one could call *that* stable/, but that's less descriptive)
> other/ - maybe. i don't see much advantage over putting it in trunk/,
>   though.

I isolated "other" because I don't know how those fit into the structure. More 
importantly, they don't get linked from all.git.

> projects/ - here one could relax the "never deleted" rule, assuming
>   everything here lives inherently outside of official strutures.
>   every project that wants to branch more than one module creates its
>   own clones of supermodules, obviously.

Yeah.

> users/ - maybe. but why would somebody put something here instead of
>   under projects/?

Personal back-up and personal projects.

If you're working on something on your own because you had a crazy idea, you 
push it there. If you want other people to review your patch before you 
commit, you push it there.

If you're not part of the team of a project, you should refrain from 
committing to their repository. So just clone it and send them a link to 
where to pull.

Another possibility is to store your own webpages or presentations.

The big difference to projects is that projects has a time limit, whereas user 
repositories could live forever.

> "blackhole/" does not exist by definition. it would be a supermodule in
> trunk/.

Don't agree, see above.

-- 
  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/d6371fcf/attachment.pgp 


More information about the Kde-scm-interest mailing list