Concurrent Version System (CVS) ist eine Software zur Verwaltung von Versionen
einer Softwareentwicklung. Es wurde bereits im Jahre 1989 als Open Source Projekt
vorgestellt. Es wird hauptsächlich zur Verwaltung von Software-Quelltexten verwendet. Nachteilig sind bei CVS die mangelnden Möglichkeiten zur Verwaltung von Binärdaten sowie der
Umgang mit Verzeichnissen. Nachdem CVS in früheren Zeiten umfangreiche Anwendung fand, wird es in neuerer Zeit durch das komfortablere
Versionsverwaltungs-System Subversion abgelöst.
Concurrent Version System (CVS) kann unter folgenden
Bedingungen eingesetzt werden:
- Mehrere Entwickler arbeiten gleichzeitig an einem übergeordneten Projekt.
- Verteilte Entwicklung von Software.
- Nachverfolgung
von Änderungen im Quelltext.
- Dokumentation von Software.
- Wiederherstellung älterer Software-Versionen.
Zentrales Element von CVS ist das sogenannte
Repository
- also ein "Behälter". Damit werden alle
Dateien eines Projektes an zentraler Stelle abgelegt. Dazu definiert CVS für jedes Projekt ein
autarkes
Verzeichnis sowie ein Verzeichnis für allgemeine
Parameter zur
Konfiguration
von beispielsweise individuellen
Benutzerrechten. Die abgelegten Dateien können zu jeder Zeit modifiziert werden. Dabei bleiben jedoch
alle früher abgelegten Versionen weiterhin behandelbar und vor allem wiederherstellbar. Dies wird dadurch ermöglicht, dass jede Datei zunächst in dem ihr zugeordneten Verzeichnis
gespeichert und dann mit zusätzlichen
Informationen versehen wird. Neben einer allgemeinen Beschreibung der Datei sind dies vor allem die
Unterschiede zu vorherigen Versionen, der Zeitpunkt jeder Änderung, Dokumentation von Änderungen sowie der
Name des Verfassers und eine
Versionsnummer, womit demzufolge dann frühere Versionen gezielt reproduziert werden können.
CVS bildet eine Client-Server-Anwendung ab. Dabei wird das Repository von einem CVS-Server verwaltet und
die
Benutzer verwenden einen CVS-Client, der dann indirekt über den
Server auf das Repository
zugreift.
Für den Zugriff auf die Funktionalität von Concurrent Version System (CVS) gibt es neben der ursprünglichen Form über die Kommandozeile erweiterte die grafische Benutzeroberfläche (GUI) für viele gängige Betriebssysteme.