SVN-Anleitung-Linux

Aus AGSS
Wechseln zu: Navigation, Suche


SVN-Anleitung Linux

URLs

Download und Installation

Da die meisten aktuellen Linux-Distributionen bereits ein vorbereitetes SVN-Paket mitbringen, kann an dieser Stelle keine genau Installationsanweisung gegeben werden. Unter Debian sollte sich das Paket mittels apt-get install subversion installieren lassen, unter SUSE-Distribtionen sollte YaST behilflich sein.

SVN-Arbeitsumgebung einrichten

Unter Linux brauchen Sie nur ein entsprechendes Verzeichnis einzurichten, welches später die "ausgecheckten" Dateien und Verzeichnisse enthält.


Erzeugen einer lokalen Arbeitskopie

Natürlich können Sie sich jederzeit die aktuelle Version unter der URL http://www.schul-netz.de:81/svn_agss/ anschauen. Wenn Sie aber mitarbeiten möchten, sollten Sie an lokalen Kopien der Dateien auf ihren Rechner arbeiten und diese dann nach getaner Arbeit wieder zum SVN-Server hochladen.

Ein Checkout funktioniert unter Linux ganz einfach: geben Sie auf der Kommandozeile den Befehl:

svn checkout http://www.schul-netz.de:81/svn_agss/

ein und es wird ein neues Unterverzeichnis svn_agss mit dem Inhalt des Subversion Repositories erstellt.

Arbeiten mit der lokalen Arbeitskopie

Update

Sollte der Checkout zeitlich schon einige Zeit zurückliegen, so empfiehlt es sich dringend die lokale Arbeitskopie zunächst auf einen aktuellen Stand zu bringen. Dieser Vorgang, bei dem Änderungen aus dem zentralen Repository in die lokale Kopie übertragen werden, wird "Update" genannt. Wechseln Sie dazu in ihr Arbeitsverzeichnis und geben Sie den Befehl:

svn up

ein. Damit werden alle Dateien aktualisiert. Der eigentlichen Arbeit steht nun nichts mehr im Wege. Vorhandene Dateien können einfach mit einem Editor oder einem passenden Programm bearbeitet werden. Die Arbeit unterscheidet sich hier nicht von der Arbeit mit normalen, lokalen Dateien!

Commit

Sind alle Änderungen erfolgt wird als nächstes ein sog. "Commit" durchgeführt. Dabei werden die lokal durchgeführten Veränderungen an das zentrale Repository übertragen und erzeugen dort eine neue Revisionsnummer. Damit stehen die Änderungen ab sofort allen anderen Teilnehmern zur Verfügung.

Geben Sie einfach den Befehl:

svn commit <dateiname>

ein. Es öffnet sich der bei Ihnen voreingestellte Editor (sollte es der vi sein: verlassen mit der Tastenkombination [Esc] + [:] + wq ) und Sie müssen Ihre Änderungen begründen. Anschließend werden Sie nach dem Ihrem Passwort für den SVN-Server gefragt und die Datei wird übertragen.

Hinzufügen und Löschen von Dateien aus dem Projekt

Wichtig: neue Dateien lassen sich nicht durch einfaches Kopieren in die Versionsverwaltung des Projekts übernehmen. Erzeugen Sie in ihrer Arbeitskopie eine neue Datei, so bleibt diese solange eine einfache lokale Datei, bis Sie diese explizit in das Projekt aufnehmen. Das erfolgt mit Hilfe des Befehls:

svn add <dateiname>

Damit ist die Datei aber nur zum Hinzufügen "vorgemerkt" - Sie wird erst beim nächsten Commit an das Repository übertragen.

Analog müssen Lösch- und Umbennenungsvorgänge zusätzlich durch Aufruf von "Delete" oder "Rename" kenntlich gemacht werden:

svn delete <Dateiname>
svn move <Quelle> <Ziel>
  • weitere Paramter für die Nutzung unter Linux offenbart das Kommando:
svn --help

Erste Experimente in der Sandbox

Um Einsteigern eine Möglichkeit zu geben, sich mit der Funktions- und Arbeitsweise von SVN vertraut zu machen, wurde unter http://www.schul-netz.de:81/svn/sandbox/ ein Experimentier-Repository eingerichtet. Es ist explizit dazu gedacht nach Herzenslust herumzuexperimentieren! Eine rege Nutzung dieser Möglichkeit ist daher sehr erwünscht :-).

Möchte man die obige Anleitung auf die Arbeit mit der Sandbox übertragen, so ist lediglich die unterschiedliche HTTP-Adresse zu beachten. Weiterhin werden für die Nutzung Zugangsdaten benötigt, die jedoch nur dazu dienen einem Missbrauch dieses Repositories vorzubeugen. DerZugang wird sofort und unbürokratisch auf Anfrage per E-Mail in der Mailingliste AGSS gewährt.

Weitere Informationen und Tips

Zertifikat installieren

Für eine verschlüsselte Übertragung von und zum Subversion Server ist die Installation des Serverzertifikats notwendig. Unter Linux kann dazu folgenden Weg wählen:

cd ~/.subversion; wget http://www.schul-netz.de:81/svn_agss/agss_certificate.pem => Zertifikat herunterladen
vim ~/.subversion/servers => Serverdatei editieren

In der Datei "~/.subversion/servers" sollten folgende Werte eingetragen werden:

[groups]
svn_agss_de = www.schul-netz.de

[svn_agss_de]
ssl-authority-files = /home/<benutzername>/.subversion/agss_certificate.pem

Hinweis: Die Pfadangabe hinter ssl-authority-files muss vollständig sein. Die Tilde (~) funktioniert hier ausnahmsweise nicht.

Proxy Probleme vermeiden

Wenn Sie sich hinter einem Proxy-Server (wie z.B. Squid) befinden, dann fügen Sie bitte in der Datei "~/.subversion/servers" noch folgenden Eintrag zu [svn_agss_de] hinzu:

extension_methods REPORT MERGE MKACTIVITY CHECKOUT

Email Filter für commit Meldungen

Um nicht von Emails überschwemmt zu werden, die durch einen commit verursacht werden, sollten Sie einen entsprechenden Filter für ihr Email-Programm einsetzen. Die header der Emails haben das zusätzliche Flag:

X-SVN-Loginfo: svn_agss

wonach gefiltert werden kann.

Meine Werkzeuge