CVS (Concurrent Versions System) ist ein Kommandozeilenprogramm, das Änderungen (verschiedene Versionen) von Dateien in einem Netzwerk (LAN (LocalAreaNetwork) oder WAN (WideAreaNetwork)) verwaltet. Typischerweise ist das CVS auf einem Computer installiert, der als Server fungiert, während die anderen Computer als CVS-Clients arbeiten. Benutzer können unabhängig voneinander Dateien auf ihr lokales System auschecken, dort bearbeiten und nach Abschluss ihrer Änderungen wieder auf den Server zurückführen (commit). Mehrere Benutzer können gleichzeitig an den gleichen Dateien arbeiten, denn CVS erkennt Überschneidungen, und meldet diese als Konflikt dem Benutzer. Diese Überprüfung findet immer zum Zeitpunkt des commit statt, es sei denn der Benutzer stößt diesen Prozess manuell an (update). Damit ist CVS nicht auf eine kontinuierliche Netzwerkver- bindung angewiesen.
Weiterhin bietet CVS die Möglichkeit, mehrere Entwicklungsbäume zu verwalten, Änderungen zwischen einzelnen Versionen in dritte Versionen einzuarbeiten (merge), sowie eine detaillierte Auflistung aller Projektaktivitäten abzurufen. Eine komplexe Projektverwaltung eben, die derzeit im Internet, vor allem im Open-Source-Bereich weit verbreitet ist.
CrossVC ist eine graphische Oberfläche für den CVS-Client auf der Unix (Linux, *BSD, ...), Mac OS X und Windows Plattform. Sie gestattet es, Module vom CVS-Server zu laden (check out), Module auf dem Server anzulegen (import) sowie den Status von Verzeichnissen und einzelnen Dateien abzurufen oder zu aktualisieren. Grundlegende Operationen wie z.B. Hinzufügen, Entfernen und übernehmen sind ebenso selbstverständlich wie das Anzeigen der aktuellen Unterschiede zwischen der zentralen Version (auf dem CVS-Server) und der lokalen (beim CVS-Client), graphische Darstellung des Versionsbaumes, sowie vielfältige weitere graphisch unterstützte Verwaltungsaufgaben. Alle Aktionen werden auf dem CVS-Server protokolliert (konfigurierbar über die history) und sind damit jederzeit nachvollziehbar.
Um vom Entwicklungsstand des CVS unabhängig zu bleiben, greift CrossVC auf das lokal installierte cvs zu und ist damit immer auch mit der neuesten Version verwendbar.
Nach der Auswahl eines Start-Verzeichnises durchsucht der 'Project-Explorer' Unterverzeichnisse nach CVS-Projekten und zeigt diese in der 'Workbench' an. Nun sind alle Funktionen für einzelne/mehrere Dateien oder ganze Verzeichnisse per 'pull down menue' oder durch einen Klick mit der rechten Maustaste verfügbar. Der Zustand der einzelnen Verzeichnisse im Projektbaum wird von CrossVC kontinuierlich überwacht. Das heisst der Benutzer erkennt auch ohne alle Verzeichnisse geöffnet zu haben bereits am Symbol des Projektordners, das sich irgendwo in der Tiefe der Projekthierarchie zum Beispiel noch nicht eingecheckte Änderungen befinden. So ist auch nach einem CVS status Aufruf sofort zu erkennen, in welchem Stadium sich das Projekt befindet. Ergänzt um die Funktionalität des on-the-fly dir scanning ist CrossVC damit auch für grosse Projekte mit vielen tausenden Dateien geeignet. Aufgrund der ständig aktuellen Bemühungen von Netzwerkadministratoren, Netzwerke sicher zu machen, unterstützt CrossVC alle gängigen CVS Verbindungsverfahren. Proxy Verbindungen werden ebenfalls unterstützt, hierfür ist es allerdings erforderlich ein gepatchtes CVS zu installieren. Dieses ist natürlich ebenfalls auf der Downloadseite verfügbar.
Da CrossVC nicht in die CVS Projektverwaltung eingreift, ist eine simultane Verwendung von CrossVC und cvs via Kommandozeile möglich. Dabei wird die Funktion der CrossVC Verzeichnis-Status-Anzeige nicht beeinträchtigt.
Obgleich CrossVC inzwischen fast den gesammten Funktionsumfang von CVS graphisch unterstützt (und kontinuierlich weiterentwickelt wird;-), ist es dank der Konfigurationsmöglichkeiten ein leichtes, die Oberfläche auf die individuellen Bedürfnisse abzustimmen. Popup Menüs sind frei konfigurierbar, während in der Menüleiste immer der gesamte Funktionsumfang zur Verfügung steht. Eine Werkzeugleiste bietet direkten Zugriff auf häufig verwendete Funktionen.
Im Unterschied zu anderen Programmen ist dieses wahrlich leicht und intuitiv zu benutzen ;-)