BraLUG-Subversion-Howto

Aus BraLUG-Wiki

Wechseln zu: Navigation, Suche


Für den internen Datenaustausch betreibt der BraLUG e.V. einen Subversion-Server. Die Seite soll die Grundlagen zur Bedienung und die BraLUG-spezifischen Gegebenheiten vermitteln, weitere Hilfe ist zum Beispiel im Online-Buch Version Control with Subversion zu finden.


Inhaltsverzeichnis


Das BraLUG-Repository

Repository-URL

https://svn.bralug.de:443/repo/

Einen XSLT-fähigen Webbrowser vorausgesetzt (z.B. Mozilla Firefox) kann man oben genannte URL auch online durchsuchen. Auch hierfür ist eine Authentifizierung notwendig.

Anmeldung

Um das Repository einsehen und verändern zu dürfen benötigt man einen Account. Dieser kann von einem BraLUG-Mitglied bei Rob oder Markus beantragt werden. Wie bei allen Passwörtern ist eine signierte E-Mail oder eine persönliche Anfrage erforderlich, das Passwort gibt es dann per verschlüsselter E-Mail.

Struktur

Eine feste Struktur ist nicht vorgeschrieben, jedoch sollte die vorhandene hierarchische Strukturierung genutzt und fortgesetzt werden, um etwas Ordnung im Repository zu halten. Da Subversion explizit das Verschieben von Verzeichnissen und Dateien unterstützt, kann unter Umständen eine Neuordung durchgeführt werden.

Als Vorschlag ist folgende Struktur im Repository:

|-- Inventar
|   |-- bin
|   |-- data
|   |-- doc
|   `-- html
|       `-- lib
|-- Programme
|   `-- Clusternight
|       `-- cluster-info
|-- Vorlagen
`-- Vortraege_und_Workshops
    |-- LinuxImNetz
    |-- ParallelesRechnenII
    |-- WinProgsUnterLinux
    |-- common
    |   |-- graphics
    |   `-- vim
    `-- eMailsAutomatischLesen

Bedienung

Die Anleitungen hier beschränken sich auf den "offiziellen" Kommandozeilen-SVN-Client. Weitere Programme, die SVN unterstützen, sollten sich mit den oben genannten Einstellungen (Repository und Benutzerdaten) ohne Probleme nutzen lassen.

Grundlegende Vorgehensweise bei der Arbeit mit einem Versionskontrollsystem ist folgende Reihenfolge:

  • Holen einer Arbeitskopie oder Aktualisierung dieser
  • Anpassen der lokalen Kopie mit den gewünschten Änderungen
  • Übermitteln der Änderungen an das globale Repository

Holen einer Arbeitskopie

Dieser Befehl ruft eine Arbeitskopie des BraLUG-Repositorys ab und legt sie unter dem Verzeichnis BraLUG-Repo ab.

$ svn checkout https://svn.bralug.de:443/repo BraLUG-Repo

Führt man diesen Befehl das erste Mal auf einem Rechner aus, so wird man zuerst aufgefordert, das SSL-Zertifikat zu akzeptieren, dann muss man sich anmelden. Möchte man sich nicht mit dem lokalen Benutzernamen anmelden (dieser wird vorgeschlagen), so drückt man bei der ersten Passwortabfrage einfach Enter. Danach wird man auch zur Eingabe des Benutzernamens aufgefordert.

Außerdem ist es auch möglich, nur einen Teil des Repositorys herunterzuladen, zum Beispiel:

$ svn checkout https://svn.bralug.de:443/repo/Vortraege_und_Workshops/eMailsAutomatischLesen

Aktualisierung der Arbeitskopie

Dieser Schritt sollte immer kurz bevor man Änderungen macht ausgeführt werden.

$ cd BraLUG-Repo/
$ svn update

Änderungen übermitteln

Wenn Dateien hinzugefügt wurden, muss zuerst

$ svn add neueDatei

ausgeführt werden, um die neue Datei dem Versionskontrollsystem bekanntzumachen.

Bestätigt und hochgeladen werden Änderungen mit:

$ svn commit

Dabei sollte nach Möglichkeit ein kleiner Text mit den gemachten Änderungen eingetragen werden, entweder mit dem sich öffnenden Editor (dieser kann mit der Umgebungsvariable EDITOR gesetzt werden) oder direkt an der Kommandozeile mit svn commit -m "Aenderungen....".

Weitere Befehle

Löschen und Verschieben funktionieren analog zum Hinzufügen mit svn delete und svn move. Alle verfügbaren Befehle kann man sich mit

$ svn help

anzeigen lassen. Hilfe zu einem speziellen Befehl, zum Beispiel add, bekommt man mit

$ svn help add

angezeigt.

Problemlösung

Proxy

Hinter einer Firewall wird natürlich ein Proxy benötigt. Nutzt man einen HTTP-Proxy, muss man sicherstellen, dass dieser den Port 1234 für SSL-Verbindungen erlaubt. Den Proxy stellt man in der Datei /etc/subversion/servers ein. Alternativ kann man auch einen Socks-Proxy über tsocks nutzen.

'Persönliche Werkzeuge