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
Tools zur Versionskontrolle sind aus der Softwareentwicklung nicht mehr wegzudenken. Eine Alternative zum Open-Source-Klassiker "CVS" und dem kommerziellen "Perforce" ist das noch junge "Subversion". Versionskontrollsysteme verwalten die Entwicklungsgeschichte eines Verzeichnisbaums und der darin gespeicherten Dateien. Wenn diese Dateien zu einem Softwareprojekt gehören, spricht man auch gerne von Softwarekonfigurations-Management (SKM).
CVS-Clients sind in vielen Entwicklungsumgebungen (hier Jbuilder 2005) nahtlos integriert. Der Anwender kann die wesentlichen CVS-Befehle ausführen, ohne seine gewohnte Umgebung verlassen zu müssen.
CVS-Clients sind in vielen Entwicklungsumgebungen (hier Jbuilder 2005) nahtlos integriert. Der Anwender kann die wesentlichen CVS-Befehle ausführen, ohne seine gewohnte Umgebung verlassen zu müssen.

Beim Konfigurations-Management von Software geht es nicht nur darum, die Versionen einer Quelltextdatei simpel hochzuzählen, sondern verschiedene Konfigurationen eines Projekts zu trennen, konsistent zu speichern und einen beliebigen Stand wiederherstellen zu können. Diese Konfigurationen enthalten neben Quelltext beispielsweise auch binäre Grafik-, Sound-, Symbol- und textuelle Konfigurationsdateien.

Rettungsanker bei Fehlern

Versionskontrollsysteme zeichnen die Historie von Dateiänderungen auf und stellen somit sicher, dass sich alle Änderungen nachvollziehen und wieder zurücksetzen lassen. Sie sind der Rettungsanker, der es erlaubt, die Ursache von fachlichen und technischen Fehlern auch dann zu rekonstruieren können, wenn die beteiligten Entwickler die Änderungen schon längst vergessen haben.

Solche Werkzeuge sind deshalb heute aus der professionellen Softwareentwicklung nicht mehr wegzudenken. Während sich in den letzten Jahren im Microsoft-Umfeld "Visual Source Safe" etabliert hat, dominiert in der Java-Welt vor allem CVS. Zu beiden Produkten gibt es eine Vielzahl von Alternativen, zum Beispiel den CVS-Nachfolger Subversion oder das kommerzielle Produkt Perforce.

Concurrent Version System