zentralisierte Versionskontrolle

Um auch mit verschiedenen Bearbeitern zusammenarbeiten zu können wurden zentrale Versionkontrollsysteme entwickelt. Hierbei wird die Datenbank in der alle Versionen abgelegt sind nicht auf dem Computer des Programmieres gespeichert, sondern auf einem zentralen Server. Dieser Server gibt dann die Dateinen an die verschiedenen angeschlossen Computer weiter, sobald sie von dort angefragt werden (check-out). Dort können sie dann bearbeitet werden und werden danach wieder an den Server zurückgegeben (check-in).

Dieses System vereinfacht die Verwaltung enorm, da nun zenral die Berechtigungsstufen festgelegt werden können, die ein einzelner Bearbeiter hat und jeder einen Überblick über den Stand des Projektes hat. Außerdem können mit zentralen Systeme ganze Projekte und nicht nur einzelne Dateien verwaltet werden.

Das Concurrent Versions System (CVS) wurde aus RCS entwickelt und war recht lange intensiv im Gebrauch. Aufgrund der Tatsache, das es Open-Source war, wurde es häufig von eben solchen Projekten verwendet. Allerdings wir CVS nicht mehr weiterentwickelt, es wurde von dezentralen Systemen abgelöst.

Der Grund dafür ist, dass ein zenrales System auch relativ anfällig gegenüber Fehlern und Störungen ist (gilt natürlich auch für das lokale System). Sollte der Server zeitlich begrenzt ausfallen, sind in dieser Zeit keine Bearbeitungen möglich. Dies wäre zwar äußerst ärgerlich (Zeit ist Geld), aber letztlich noch zu verkraften. Ein Komplettausfall des Servers hätte dagegen einen vollständigen Datenverlust zur Folge (bis auf eventuell gerade geöffnete Versionen).

alt
Bild 2 zentrale Versionskontrolle, die Dateine liegen auf einem Server, bearbeitet
          wird an den jeweiligen Computern