[Kde-scm-interest] Sysadmin advice regarding Monolithic vs Split repositories.
zander at kde.org
zander at kde.org
Wed Sep 8 12:21:38 CEST 2010
On Tuesday 7. September 2010 18.04.40 Tom Albers wrote:
> Our advise is to use a split repositories approach.
Reading the pdf I'm left with the impression that you guys didn't read the
archives of the scm ML. All of the disadvantages for a monolithic approach
are incorrect and rebutted before.
All the disadvantages to the split approach are also missing.
I'll give a very short overview of what I recall from the top of my head
* moving applications from kdereview/kdeextragear/main-module.
marking this as 'impossible' is odd as the approach and implementation
(rulesets) we have now show clearly that kdereview and kdeextragear are not
monolithic. There simple is *no* moving there going on.
An app would start as a single repo and get upgraded by metadata. So the
existing proposal and the new proposal agree. This should have no effect on the
split apprach of the main modules at all.
Moving a finished app into a main module (like kdeedu) is possible and not hard
to be done with retaining history. There are tools to do that and the only one
that has to re-clone are the ones following the previous separate application
repo. They now have to clone the kdeedu one.
Bottom line; there was never any history rewriting in the approach as
advocated by Thiago and me and others.
* The disadvantage to increasing the size of clones is just not there; compare
network traffic for a git clone to an svn checkout and the size is marginally
bigger with full history. Numbers have been posted previously. (can't be
bothered to look them up now).
With the proposal it actually gets bigger; see 2 points down.
Ignored disadvantages;
* having each app in koffice as a repo and doing a refactor means you need to
push to multiple repositories. Managing multiple repositories is not something
that git is good at and as a result you will have to do multiple pushes
yourself. This has a real-life effect on daily operations.
* repositories get bigger if you put multiple applications in there, no
surprise. They will on the whole get smaller as git compression works better
with more data. So having 10 repos of 10 apps or having 1 repo with 10 apps
then the one with 1 repo will be smaller over the network and on disk.
* the splitting has shown the concern that people that want to use one kdeedu
app will no longer benefit from finding the other ones also in the same module.
This makes helping out with development less KDE like where people are invited
to jump in and fix stuff. If they don't have the source they are less likely to
do so.
* we have rules for non-split repos. They work mostly. The proposal means we
have to start over.
* rule writing for splitting individual apps is a *lot* harder than writing
per module. So I expect this change at this time to cause a minimum delay of 6
months.
* I am discouraged that this one mail caused a lot of people to change their
minds and just change direction. Which effectively means 2 years of consensus
building and rule writing is thrown away. I don't think I can stumach this
restart of effort and still help out with the conversion.
--
Thomas Zander
More information about the Kde-scm-interest
mailing list