direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

SVN für Einzelnutzer

Nicht alle TUB-Angehörigen können den SVN-Dienst nutzen, da er an einen konventionellen Webauftritt gekoppelt ist. Insbesondere Studenten sind für die Nutzung des SVN-Dienstes auf die Bereitstellung durch Fachgebiete o.ä. angewiesen. Daher soll im Folgenden eine alternative Nutzung von Subversion mit Hilfe des zentralen Datenspeichers AFS beschrieben werden, die von allen TUB-Angehörigen direkt genutzt werden kann.

Voraussetzung

Für die Nutzung von AFS ist ein provisioniertes tubIT-Nutzerkonto (nachfolgend als "Benutzer" bezeichnet) notwendig.  Die Repositories können für andere Benutzer freigeschaltet werden eine Nutzung ohne tubIT-Nutzerkonto ist jedoch ausgeschlossen.

Wie Sie AFS auf Ihrem Rechner installieren und einrichten können ist hier beschrieben.

Hinweise für Windowsnutzer

In der folgenden Anleitung werden u.a. auch AFS-Befehle auf der Kommandozeile angegeben. Unter Windows existiert eine grafische Einbindung der Rechtevergabe in den Dateiexplorer. Nichts desto trotz können Sie die gleichen Befehle in der Eingabeaufforderung ausführen. (Windowstaste+R und dann „cmd" eintippen und OK drücken). Wechseln Sie zum Laufwerksbuchstaben, den Sie AFS zugewiesen haben, z.B. „Z:" und wechseln Sie in Ihr Verzeichnis „cd afs\tu-berlin\ ...".

Die hier verwendeten Pfadangaben verwenden alle den normalen Slash als Pfadtrenner, z.B. "/afs/tu-berlin.de/". Unter Windows müssen Sie hier den Backslash verwenden, z.B. "\\afs\tu-berlin.de\".

Es gibt zahlreiche grafische Tools für die Nutzung von SVN, z.B. TortoiseSVN. Zu den hier angegebenen Befehlszeilen gibt es immer auch ein entsprechendes Äquivalent. Je nach Tool und Spracheinstellung lauten die Menüpunkte unterschiedlich und werden hier deshalb nicht weiter angegeben. Bitte ziehen ggf. die Hilfe Ihres Tools zu Rate.

SSH-Verbindung zum TU-Server
Wenn Sie die Anleitung lieber auf einem Unix-System nachvollziehen wollen, können Sie sich einfach via SSH ins TU-Netz einloggen. Hier stehen Ihnen das AFS und die nötigen Subversiontools zur Verfügung.

# ssh BENUTZERNAME@sshgate.tu-berlin.de

Basisordner und AFS-Rechte

Legen Sie in Ihrem AFS-Homeverzeichnis (oder dem AFS-bereich Ihrer Einrichtung, falls vorhanden) einen Basisordner an. Im Folgenden gehen wir vom Ordner "svn-repos" aus.

Damit andere Personen auf ihr Repository zugreifen können, müssen Sie ihnen im AFS die entsprechenden Rechte geben.

ACHTUNG: Es ist leider nicht ohne weiteres möglich die Zugriffsrechte rekursiv zu setzen. Wir empfehlen daher eine AFS-Gruppe anzulegen und die Rechte einmalig zu vergeben, bevor das Repository angelegt wird. Einmal vergebene Rechte werden automatisch an Unterverzeichnisse weitervererbt. Später können Sie Benutzern Zugriff gewähren, indem Sie sie der Gruppe zuordnen.

AFS-Gruppe anlegen
# pts creategroup  ihr_benutzername:gruppenname

Für den provisionierten Benutzer tubit-user, der die Gruppe diplom anlegen möchte sähe der Befehl so aus:
# pts creategroup -name tubit-user:diplom

Hinweis: Geben Sie später bei der Rechtevergabe für GRUPPENNAME immer benutzername:name an, für das obige Beispiel also GRUPPENNAME= tubit-user:diplom.

Bis zum "svn-repos"-Ordner benötigen Sie das l-Recht (auflisten). Liegt dieser Ordner direkt in ihrem Heimatverzeichnis, müssen Sie das l-Recht nur auf den obersten Ordner, der gleich lautend mit ihrem Benutzernamen ist, sowie den Ordner "svn-repos" anwenden. Führen Sie in ihrem Heimatverzeichnis folgenden Befehl aus (unter Unix):
# fs setacl -dir ./ svn-repos/ -acl GRUPPENNAME l

Für den Repositoryordner selbst können Sie je nach Wunsch das Lese- (read) oder Schreibrecht (write) gewähren. (Wie die Repositoryordner angelegt werden, wird im nächsten Schritt erklärt.)
# fs setacl svn-repos/mein_repository GRUPPENNAME write

Benutzer der Gruppe hinzufügen:
# pts adduser PROVISIONIERTER_BENUTZER GRUPPENNAME

Benutzer von der Gruppe entfernen:
# pts removeuser PROVISIONIERTER_BENUTZER GRUPPENNAME

HINWEIS: Da der Zugriff auf ihr Repository durch die AFS-Rechte abgesichert wird, ist eine weitere Verwendung von Zugriffsrechten durch die „hauseigenen" Mittel von Subversion überflüssig, können aber trotzdem angewandt werden.

Repository anlegen

Legen Sie ein Verzeichnis unterhalb des SVN-Basisordners mit dem gewünschten Namen des Repositories an. Unter Linux beispielsweise so:

# mkdir svn-repos/mein_repository


Anschließend setzen wir die AFS-Rechte für die AFS-Gruppe, der wir den Zugriff gestatten wollen.

# fs setacl svn-repos/mein_repository GRUPPENNAME write

Nun erstellen wir in diesem Verzeichnis ein Repository:

# svnadmin create svn-repos/mein_repository

HINWEIS: Seit Version 1.2 ist FSFS die Standardspeichervariante für Repositories. Wir empfehlen FSFS anstatt bdb (Berkeley DB) zu nutzen, da bei Verwendung von Netzwerkdateisystemen von bdb explizit abgeraten wird[1].

Checkout des Repositories

Wechseln Sie in ein beliebiges Verzeichnis auf ihrem PC.
Erstellen Sie mit folgendem Befehl eine „working copy" des Repository:
# svn checkout file:///afs/tu-berlin.de/home/[erster Buchstabe des Benutzernamens]/[Benutzername]/svn-repos/mein_repository/

Achten Sie darauf nach file: drei(!) Schrägstriche zu setzen.

Windowsbenutzer: Geben Sie den Pfad zu ihrem Repository wie folgt an: „file:////afs/tu-berlin/...". Hier können Sie ausnahmsweise auch den normalen Slash verwenden, jedoch sind nach file: vier(!) Slashes notwendig.

 

Alternative via SSH: Wer lokal keinen AFS-Client installiert hat, kann alternativ auch via SSH über den Server sshgate.tu-berlin.de auf das Repository zugreifen:

# svn co svn+ssh://[ Benutzername@ ]sshgate.tu-berlin.de/afs/tu-berlin.de/home/[erster Buchstabe des Benutzernamens]/[Benutzername]/svn-repos/mein_repository/

Hinweise:
Windowsnutzer müssen i.d.R. noch einen SSH-Client in der Konfigurationsdatei ihres SVN-Clients eintragen. Im Bereich [tunnel] muss die Option ssh auf einen existieren SSH-Client zeigen, z.B. Putty.
SSH-Keys können für die Anmeldung jedoch nicht hinterlegt werden, da das AFS-Home-Verzeichnis auf sshgate, in dem sich der SSH-Key befinden würde, erst nach der Anmeldung zur Verfügung steht.


In dieser Arbeitskopie können Sie nun beliebig Dateien anlegen, editieren oder auch löschen. Die Änderungen werden jedoch erst nach einem commit in das Repository übertragen. Lesen Sie sich die Dokumentation von Subversion durch, wenn Sie mit den Arbeitsschritten nicht vertraut sind.

Zusatzinformationen / Extras

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe