[Kde-scm-interest] Sysadmin advice regarding Monolithic vs Split repositories.

Maciej Mrozowski reavertm at gmail.com
Wed Sep 8 01:20:53 CEST 2010


On Tuesday 07 of September 2010 18:04:40 Tom Albers wrote:
> Dear Scm-interest,
> 
> As promised, the people behind the sysadmin team would like to give advice
> regarding the monolithic vs split repositories issues. We have tried to
> stay away from the community/social issues and focus on the technical
> consequences such a decision involves - such as how to setup the different
> services we will setup.
> 
> Our advise is to use a split repositories approach.
> 
> The sysadmin team would like to setup the services real soon now, so we
> ask this list to come up with a final decision about the setup. To be
> clear: whatever you decide, we will implement it to the best of our
> capabilities.

Thanks for investigation!

I'd like to address some points, actually the one that monolithic layout 
breaks current application life cycle/workflow.

It doesn't have to.
Provided we forget about extragear or playground being actual repositories. If 
said places - playground, extragear, kdereview (or review) - are implemented 
as branches of corresponding ${module}, forward changing state of particular 
application is just merging between branches.

Advantages:

- moving forward (from playground->review, extragear->review, review->master) 
is easy, efficient, and preserves history (if it's considered advantage, I 
understand sometimes development history from playground for instance may not 
be welcome when app is moved to master)

- (all mentioned monolithic module advantages like keeping current 
buildsystem, tarball packaging scriptsm tagging intact etc)

Disadvantages:

- moving app backward (master->extragear, master->playground, review-
>playground, review->extragear) is less convenient with branches and probably 
implemented by the means of removing code (from master for instance) branching 
off to playground-${app} for instance, followed by immediate revert 'commit 
removing code' in that playground-${app} branch.

- only one 'playground' or 'extragear' or 'review' item per ${module} so 
playground, extragear or review are essentially monolithic as well.
This can be addressed by name sufix/prefix, for instance playground-kmail and 
playground-knotes in kdepim repo, but it means that all those playground-, 
extragear- branches are actually feature branches (slightly different workflow 
I suppose). Also multiple review branches possible here.

- ${module} repository size grows with every global feature branch or review 
branch added, so purging some of them occasionally is needed (hardlinks should 
help here a bit) to make cloning repo nicer.

-- 
regards
MM
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-scm-interest/attachments/20100908/9d5c3251/attachment.sig 


More information about the Kde-scm-interest mailing list