SVN-Anleitung-Linux
SVN-Anleitung Linux
URLs
- http://subversion.tigris.org/
- http://de.wikipedia.org/wiki/Subversion_(Software)
- http://www.jayotee.de/o/webdesign/subversion.shtml (kurze Einführung in das Konzept eines Versionsverwaltungssystems - Pflichtlektüre für Einsteiger!!!)
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.