Versionskontrolleure im Vergleich

18.02.2005
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com

Wahrscheinlich aufgrund der guten Unterstützung mit Werkzeugen und grafischen Clients erfreut sich Subversion schon jetzt großer Beliebtheit. Es ist zudem sehr einfach zu bedienen und für die Zielgruppe der CVS-Umsteiger konzipiert: Sowohl Befehle als auch Optionen ähneln denen des Vorbilds. Die Dokumentation kann man ebenfalls als ausgezeichnet bezeichnen. Sogar ein freies 300-Seiten-Buch ist als PDF-Datei über die Subversion-Homepage verfügbar.

Subversion hat die konzeptionellen Mängel von CVS gründlich beseitigt. Es verwaltet Dateien und Verzeichnisse als Ganzes in einer Baumstruktur. Das beim Refactoring übliche Verschieben und Umbenennen von Dateien und Verzeichnissen ist somit anders als bei CVS und Perforce überhaupt kein Problem und unter Beibehaltung der Historie möglich. Auch die Transaktionssicherheit ist vorbildlich gelöst: Subversion garantiert sowohl beim Einchecken einen konsistenten Projektstand als auch beim Auschecken, dass die Arbeitskopie vollständig ist.

Ein weiterer Vorteil gegenüber den Mitbewerbern ist die bessere Unterstützung der Versionierung von Binärdateien. Während diese in CVS und Perforce prinzipiell praktisch in jeder Version komplett gehalten werden, speichert Subversion nur die Differenzen mit Hilfe des Delta-V-Algorithmus ab. Gerade bei Web-, Multimedia- oder Spieleprojekten, in denen viele Grafikdateien zur Konfiguration gehören, macht sich dieses platzsparende Verfahren schnell bemerkbar.