Kapitel 4. Eclipse und CVS

Inhaltsverzeichnis

Spätestens wenn man nicht mehr allein an einem Projekt arbeitet, muss der Zugriff auf die Sourcecodes richtig verwaltet werden. Ansonsten entsteht schnell ein grosses Durcheinander. Aber auch schon bei dem „One-Man-Project“ (oder „One-Woman“) ergeben sich Vorteile, wenn man das Concurrent Version System (CVS) mit benutzt.

Das CVS verwaltet alle zum Projekt gehörenden Resourcen (also Dateien) und führt zu jeder einzelnen Datei eine Änderungshistorie. Alle Projekte werden an zentraler Stelle gehalten, dem Repository.

Die Unterstützung für CVS ist direkt in Eclipse integriert, man kann also sofort loslegen. Natürlich muss irgendwo ein CVS-Server zur Verfügung stehen. Zum Testen oder als lokales Repository kann man mit CVSNT (für Windows) oder CVS schnell einen CVS-Server einrichten.

Neben der Möglichkeit im Team an einem Projekt zu arbeiten, sind die wichtigsten Vorteile:

Unabhängig, ob im Team oder nicht gearbeitet wird, sollte man allein aus diesen Gründen immer mit CVS arbeiten.

4.1. Bestehendes Projekt einbinden

Im Context-Menü des Projekts unter Team „Share Project“ auswählen:

Abbildung 4.1. Projekt ins CVS einbinden

Wer zuvor noch nie mit CVS gearbeitet hat, muss nun zuerst eine Repository-Location anlegen, damit also bestimmen, welchen CVS-Server man verwenden möchte. Wenn schon mal mit CVS gearbeitet wurde, dann werden die bereits bekannten CVS-Server aufgelistet und man kann einfach einen auswählen.

Anmerkung
Das Löschen einer Repository-Location geht nur in der CVS-Perspective im CVS-Locations-View: im Kontextmenü auf „Discard-Location“ klicken.

Abbildung 4.2. Repository wählen

Das Erstellen einer Repository-Location fragt nun eine Reihe von Parametern ab:

Abbildung 4.3. Repository-Location neu erstellen

Host und Repository path definieren, wo das Projekt zu finden ist bzw. wo es gespeichert werden soll. Authentication legt die Informationen für das Login zum CVS-Server fest. Connection spezifiziert die Art der Verbindung (normalerweise im „pserver“).

Dann bleibt nur noch auszuwählen, ob der Projektnamen auch als CVS Modulnamen verwendet werden soll. CVS verwaltet alles in Modulen, was im Repository einem Verzeichnis auf oberer Ebene entspricht. Normalerweise wählt man Projektnamen und Modulnamen identisch, dann kann keine Verwechslung passieren.

Anschließend wird das Projekt im Synchronize-View angezeigt:

Abbildung 4.4. Neues Projekt im Synchronize-View

Die Symbole bedeuten, dass die lokalen Verzeichnisse und Dateien im Repository noch nicht bekannt sind und daher mit „Add to Version-Control“ und anschließendem „Commit“ endgültig unter die Verwaltung des CVS gestellt werden.

Für das ganze Projekt geschieht dies im Kontextmenü des Projekts. Beim „Commit“ wird abschließend noch ein Dialog angezeigt, der jedem Übertragen ins Repository das Eintragen eines Kommentars erlaubt.

Anmerkung
Die Klammern neben den Dateinnamen (ASCII -kkv) oder auch (Binary) kennzeichnen die Dateiart, wie sie vom CVS gesehen werden. Im ASCII-Modus können Änderungen sehr komfortabel angezeigt und verwaltet werden. Die Option -kkv bewirkt, dass bestimmte Platzhalter in den Dateien vom CVS automatisch ersetzt werden. So kann z.B. die Versionsnummer immer aktuell in den Text einer Ausgabe eingebaut werden.

In den beiden Dateien „.project“ und „.classpath“ verwaltet Eclipse die Metainformationen zu jedem Projekt. Es ist daher wichtig, dass diese Dateien immer mit eingecheckt werden. Wenn man sich an die Grundeinstellungen von Kapitel 3.1.1 hält und nur mit Classpath-Variabeln arbeitet und absolute Bezüge ganz vermeidet, dann kann jeder im Team das Projekt aus dem CVS auschecken und sofort damit arbeiten.

In Eclipse geht das im Repository-View besonders komfortabel mit „Checkout as Project“ was bei jedem Verzeichnis im Kontextmenü angeboten wird.

Abbildung 4.5. Projekte auschecken