[SAGE-MUC] DVCS für System-Administration?

Marko Lorentz marko.lorentz at beratung-ml.de
So Jun 6 08:07:55 CEST 2010


Hallo *!

Ein wenig o.t., aber ich habe das Bedürfnis, Andreas Aussage in Nuancen zu revidieren - zumindest was den Blick in die Welt der Softwareentwicklung angeht:

Am 04.06.2010 um 19:00 schrieb Andreas Jellinghaus:

> Hallo,
> 
> für die Entwicklung von Software wechselt ja fast jeder von
> klassischen VCS wie Subversion zu DVCS wie Git, hg oder bzr.

Das ist so nicht ganz richtig. svn ist ein "medium scale" Version-Management. Es hat im professionellen Bereich - wo Projekte über Jahre laufen und evtl. hunderte von Mitarbeitern partizipieren - nur wenig Verbreitung. Insbesondere die fehlenden Features für vernünftiges Merge und Variantenmanagement (neudeutsch: software product lines) lassen es hier oft ungeeignet erscheinen. Die angesprochene Ablösung von svn + cvs durch verteilte Systeme findet also in erster Linie bei kleinen bis mittleren Projekten und im nicht-professionellen Bereich statt. Ausnahmen bestätigen wie immer die Regel.

Die Antwort auf die neuerdings so oft gestellte Frage, ob ein zentralisiertes oder ein dezentralisiertes Versionsmanagement besser ist, basiert IMHO weitgehend auf dem verwendeten Entwicklungsprozess, jedoch nicht auf den Features der Systeme, denn diese sind bei z.B. bei svn und .hg weitgehend gleich. Wenn der Prozess stark entkoppeltes Arbeiten erlaubt oder sogar favorisiert, dann ist die Entscheidung für git & Co. naheliegend. Bewegen wir uns aber in einer Welt mit starker Kopplung an automatisierte Integrations- oder Systemtests (die auch schon mal eine ganze Nacht lang laufen), dann ist ein zentrales Einchecken in ein continuous integration basiertes System sinnvoller - allein schon aus Gründen der QS.
Martin Fowler (Refactoring-, OO- und Agilitätsguru) hat zu diesem Thema ein paar Untersuchungen angestellt, die man per Google finden kann. Im Prinzip kommt dann dabei heraus, dass die verteilten Systeme als "entwicklerfreundlicher" beurteilt werden, während das zentralisierte System eher hilft, den angestrebten Qualitätslevel zu erreichen und das Projektmanagement zu beruhigen. Sein Vorschlag deshalb: Gib den Entwicklern git und .hg lokal, aber lass sie nach Komplettierung der Features in ein svn hochladen *g*.

Winke, winke

Marko
-- 
Marko Lorentz - Softwareentwicklung, Projektmanagement und Beratung

Berghamer Str. 11a - 83624 Otterfing - USt-Id-Nummer DE 812 932 184
Fon: 08024/6088385 - Fax: ../6087271 - marko.lorentz at beratung-ml.de