SVN

SVN ist der Quasi-Nachfolger von CVS, faellt damit in die Gruppe der Versionsverwaltungs-Programme.

Wir setzen SVN als debian Paket auf einem unserer Server ein.

Über Programmier-IDEs wie bspw. eclipse kann man auf die auf dem Server eingerichteten Repositories zugreifen.

Im Folgenden wird der Umgang mit einer SVN Installation kurz beschrieben.

SVN

Um ein neues Repository auf dem SVN „Server“ anzulegen, müssen folgende Befehle ausgeführt werden:

svnadmin create /var/lib/svn/projektname --fs-type fsfs
chmod -R o=u,g-rwx /var/lib/svn/projektname

Dabei ist /var/lib/svn das (bei der „Installation“ von SVN frei wählbare) SVN Stamm-Verzeichnis. Das Verzeichnis projektname wird angelegt und mit einigen Standardeinträgen versehen.

Um nun von Arbeitsplatzrechnern auf dieses Repository zugreifen zu können, muss man ein entsprechendes Programm haben. In diesem Fall soll das Vorgehen an der weit verbreiteten IDE Eclipse vorgestellt werden:

Eclipse

Projekt auschecken

In Eclipse muss man in die Perspective „SVN Repository Exploring“ wechseln (installierbares PlugIn, siehe Eclipse). Folgende Schritte ausführen:

Nummerierter ListenpunktIm Reiter SVN Repository mit der rechten Maustaste das Kontextmenü aufrufen, dort den Eintrag New→New Repository Location auswählen.

Die URL zum SVN Server angeben, incl. Name des Projekts, das eingerichtet werden soll. Z.B. http://svn.meinedomain.de/svn/projektname

Über den Button Finish Dialog abschließen. Eclipse kontaktiert dann den eingestellten Server und lädt das Repository initial in den Reiter SVN Repository.

Nun mit der rechten Maustaste auf das Projekt klicken und Checkout… anwählen. Im aufklappenden Dialog auswählen, wo das Projekt lokal abgelegt werden soll und Finish klicken. Das (noch leere) Projekt wird nun auf dem Rechner lokal gespeichert. Dies ist auch initial wichtig, da Eclipse die benötigte Verzeichnisstruktur anlegt und einige von SVN verlangte Dateien ablegt (versteckt).

Nun kann man mit diesem Projekt normal arbeiten, z.B. Dateien in Eclipse direkt hinzufügen oder einfach über einen Dateimanager schon vorhandene Dateien in die Verzeichnisstruktur kopieren.

Projektänderungen einchecken

Um Änderungen an einem Projekt nun wieder mit dem Server zu synchronisieren, müssen folgende Schritte durchgeführt werden:

Nummerierter ListenpunktÄnderungen lokal speichern.

In die Perspective „Team Synchronizing“ wechseln. Im Reiter „Synchronize“ werden die SVN Projekte angezeigt. Sollten die gemachten Änderungen noch nicht angezeigt werden, muss mit der rechten Maustaste auf das entsprechende Projekt geklickt werden. Im aufkommenden Kontextmenü Update oder Synchronize drücken. Der lokale Stand wird dann mit dem auf dem Server abgeglichen (ohne Änderungen aktiv vorzunehmen).

Es wird nun im Reiter „Synchronize“ über entsprechende Symbole an den Dateien/Verzeichnissen angezeigt, was SVN machen will (z.B. Add, Change, Remove). Nun kann man einzelne Einträge oder das Projektverzeichnis mit der rechten Maustaste anwählen und im Kontextmenü „Commit…“ wählen.

Es sollte ein sinnvoller Kommentar angegeben werden, damit später nachvollzogen werden kann, welche Änderungen die Revision auszeichnet, ohne direkt die einzelnen Änderungen im Diff anschauen zu müssen. Nach Eingabe des Kommentars kann man unten im Fenster die Dateien/Verzeichnisse anwählen, die auf dem Server geändert werden sollen. Dort wird auch nochmal die Aktion beschrieben bzw. der Status für die entsprechende Dateu oder das entsprechende Verzeichnis. Über OK wird dann der eigentliche Update Vorgang angeworfen und die Änderungen mit dem Server synchronisiert.

Anmerkung

Die oben beschriebenen Schritte zeigen nur einen sehr kleinen Funktionsumfang eines CVS Systems und im Speziellen des verwendeten SVN. Um die kompletten Vorzüge eines solchen Systems sinnvoll nutzen zu können, sollte entsprechende Literatur zu Rate gezogen werden. Für SVN empfiehlt sich ein Besuch der SVN Website http://subversion.tigris.org.