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 provisionierten
TUB-Account (nachfolgend als "Benutzer" bezeichnet)
notwendig. Die Repositories können für andere Benutzer
freigeschaltet werden eine Nutzung ohne TUB-Account ist jedoch
ausgeschlossen.
Wie Sie AFS auf Ihrem Rechner installieren
und einrichten können ist hier [1]
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
afstu-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. "\afstu-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 zecm-user, der die Gruppe diplom anlegen
möchte sähe der Befehl so aus:
# pts creategroup -name
zecm-user:diplom
Hinweis: Geben
Sie später bei der Rechtevergabe für GRUPPENNAME immer
benutzername:name an, für das obige Beispiel also GRUPPENNAME=
zecm-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 [2]
durch, wenn Sie mit den Arbeitsschritten nicht vertraut sind.
nste/daten_server/andrew_file_system/parameter/de/font5
/minhilfe/
nste/kommunikation_internet/www_seiten/konventioneller_
webauftritt/svn_dienst/parameter/de/font5/minhilfe/
nste/kommunikation_internet/www_seiten/konventioneller_
webauftritt/parameter/de/font5/minhilfe/