Freie Universität Berlin, Fachbereich Mathematik und Informatik
Institut für Informatik, AG Informatik in Bildung und Gesellschaft

Lehre

Partizipation im Internet

Concurrent Version System (CVS)

Die Geschichte von Open Source Software ist eng verzahnt mit der Geschichte von CVS. CVS koordiniert die Arbeit verschiedener Programmierer an dem selben Code, wie es bei Open Source Projekten häufig der Fall ist.

Während bei anderen Versions-Kontroll-Systemen einfach ein "Lock" gesetzt wird, also nur einer Schreibrechte besitzt, bis er die überarbeitete Datei wieder freigibt, arbeitet CVS nach einer anderen Methode, die auch das gleichzeitige Programmieren an derselben Datei ermöglicht.

Jeder Programmierer arbeitet in einer "Sandbox", einer Sammlung von Dateien, die dem Archiv entspricht. Diese Dateien kann er ändern, wie er möchte. Sendet er die Dateien ein, dann speichert CVS die Veränderungen, zählt die Versionsnummern der veränderten Dateien hoch und ermöglicht auch die Zurückverfolgung der Änderungen und auch die Wiederherstellung eines früheren Zustands.

Hat ein anderer Programmierer parallel Änderungen durchgeführt, so wird dies mit dem "commit" der Dateien ans Archiv in die sequentielle Abfolge eingefügt. Bevor diese Änderungen gespeichert werden, wird er von CVS aufgefordert, erst ein Update seiner eigenen Sandbox vorzunehmen. Dabei werden dann seine Änderungen mit den bisherigen zusammengefügt. Dies geschieht automatisch, wenn unterschiedliche Stellen in den Dateien bearbeitet wurden. Anderfalls werden die betroffenen Programmierer benachrichtigt und aufgefordert, den Konflikt durch Absprache und Handarbeit zu lösen.

Die Entwickler werden ermutigt, nur lauffähige Änderungen an das Archiv zu schicken, um anderen Programmierern sauberen aktuellen Code bereitzustellen. Jede Änderung der Dateien muss mit einem kurzen Statement kommentiert werden, um sich in den Änderungen zurecht zu finden.

Literatur

AutorTitelVeröffentlichungQuelle
Karl FogelOpen Source Projekte mit CVS2000MITP, Bonn
Open Source kurz & gut1999O'Really, Köln

Lehre

Projekte

Personen

Quellen