Technische Universität Dortmund
 
Handmade translations?:

Subversion auf Marvin

Dieser Artikel beschreibt, was zu tun ist um auf den Marvin-Accounts mit Subversion zu arbeiten, speziell wie darauf von zuhause aus zugegriffen werden kann. Schwerpunkt der Anleitung ist dabei der Zugriff unter Windows mittels Putty. Wer mehr Informationen zu Linux/Cygwin oder anderen Plattformen beisteuern kann ist herzlich eingeladen dies zu tun.

Subversion

Subversion ist ein Source Code Management System, eine Versionverwaltung, die entwickelt wurde um CVS mit seinen zahlreichen Schwächen abzulösen. Leider wird CVS im Sopra nach wie vor eingesetzt, dieser Artikel soll Stundenten ermutigen, sich mit Subversion auseinanderzusetzen und die Vorzüge des Arbeitens mit SCM kennenzulernen.

Ein sehr umfangreiches und gut zu lesendes Buch über Subversion ist unter http://svnbook.red-bean.com erhältlich. Dort werden auch die wichtigsten Unterschiede und Gründe zum Umstieg für bisherige CVS-User erklärt.

Für Einsteiger in Sachen Versionskontrolle bietet Eric Sinks Source Control HOWTO einen sehr gute Einführung die die Grundkonzepte des Quellcodemanagements.

Zur Arbeit mit dem Subversion Commandline-Client muss dieser natürlich erst von der Subversion-Homepage heruntergeladen und installiert werden. Es empfiehlt sich danach, den Pfad zur svn.exe zum PATH hinzuzufügen.

SSH

Voraussetzung zur sinnvollen Nutzung von Subversion im Remote-Zugriff mit Putty ist die Einrichtung des Marvin-Zugangs mittels Public-Key Authentication über SSH.

Loggt euch bei marvin ein und gebt ein:

ssh-keygen -t dsa

dann

cat ~/.openssh/id_dsa.pub >> ~/.openssh/authorized_keys

damit der Schlüssel bei der Anmeldung akzeptiert wird.

Den privaten Schlüssel (~/.openssh/id_dsa) braucht ihr auf dem Client, der bequemste Weg ihn Herunterzuladen ist wohl SFTP (zum Beispiel mit WinSCP).

Windows (Putty)

Mit der Putty Toolsuite reichen wenige Schritte zur Einrichtung des SVN-Zugriffs. Ein Weg ohne Public Key Authentication ist mir dabei allerdings nicht bekannt.

PPK-Schlüssel erzugen

Der Schlüssel (id_dsa) muss mittels Puttygen in das Putty-Format umgewandelt werden.

Entschließt ihr euch, die Passphrase im Schlüssel zu behalten, muss während der Benutzung des svn-Kommandozeilebefehls Puttys Pageant Agent laufen und die Passphrase für Plink bereitstellen, svn verschluckt nämlich die Passwortabfrage auf der Kommandozeile und hängt dann.

Tunnel anlegen

Anlegen eines neuen Tunnels in der Subversion-Konfiguration. Üblicherweise zu finden in

c:\Dokumente und Einstellungen\<username>\Anwendungsdaten\subversion\config

Im Abschnitt [tunnels] hinzufügen:

plink = d:\programme\putty\plink.exe

oder wo auch immer ihr Plink installiert habt.

Session anlegen

Anlegen einer Putty-Session zu Marvin.

Angaben:
Server marvin.cs.uni-dortmund.de
Connection→Data Auto-login username: <euer marvin-account>
Connection→SSH→Auth Prefered SSH protokoll version: 2
Connection→SSH→Auth Private Key-File: <eure PPK-Datei>

Merkt euch den Namen der Session (wie wär's mit marvin ?).

Repository erstellen

Speichert und startet die gerade erstellte Session. Zuerst müsst ihr ein Verzeichnis für eure Repositories anlegen:

mkdir ~/svn

dann erstellen wir ein Repository:

svnadmin create ~/svn/testrepos

Fertig, ausloggen.

Zugriff

Jetzt könnt ihr von zuhause aus zugreifen. Auf der Kommandozeile, gebt folgenden Befehl ein:

svn export ssh+plink://@marvin/home/u/username/svn/testrepos

Dabei ist username durch euren Benutzernamen zu ersetzen und u durch den ersten Buchstaben des Benutzernamens.

@marvin ist hierbei kein richtiger Servername sondern wird an Plink durchgereicht und ist der Bezeichner für die Session die ihr vorher angelegt habt. Plink greift auf diese Session zu und bezieht aus ihr den richtigen Servernamen, den Benutzernamen und den Ort eurer privaten PPK-Datei. Der Bezeichner wird, wie zu erkennen ist, durch Voranstellen des @-Zeichens vor den Session-Namen gebildet.

Fertig.

Ihr könnt den weg zum Repository allerdings auch abkürzen, indem ihr einfach in ~/.openssh/authorized_keys vor dem Key (also der letzten Zeile) das folgende einfügt:

command="svnserve -t -r ~/svn" 

Damit verkürzt sich dann der obige Zugriff auf:

svn export ssh+plink://@marvin/testrepos

Das ist zum Beispiel interressant, wenn ihr Freunden Zugriff nur auf bestimmte Teile des Repository geben möchtet.

Für die genaue Benutzung der svn Befehle, schaut in das SVN Handbuch.

SmartSVN

SmartSVN ist ein sehr komfortabler und vor allem kostenloser java-basierter Subversion-Client. Neben der durchdachten Benutzeroberfläche kommt SmartSVN vor allem, anders als Tortoise, ohne die Original SVN Binaries aus und bringt sein eigenes SSH-Subsystem mit. Die Einrichtung einer Arbeitsumgebung für Subversion ist damit noch einfacher.

Anlegen müsst ihr die Repositories immernoch mit svnadmin auf der marvin-shell (siehe oben), danach könnt ihr aber ausschließlich mit SmartSVN arbeiten.

Ich setze für die Benutzung des Programms mal gesunden Menschenverstand voraus und beschreibe nur, was einzustellen ist, um auf das Repository zuzugreifen.

  • Zugriffstyp, klar: SVN+SSH
  • Servername: marvin.cs.uni-dortmund.de
  • Repository Path: /home/u/username/svn/repos mit:
    • username = euer Benutzername
    • u = Initial
    • svn/repos = Pfad zu eurem Repository

Das war's. Über den Projekt-Manager könnt ihr euer Repository auschecken und beginnen damit zu arbeiten.

Linux/Unix

Unter Unix sollte sich die Anleitung des SVN-Handbuchs 1:1 umsetzen lassen.

 
studis/subversion_auf_marvin.txt · Zuletzt geändert: 12:35 19.10.2007 von x-benjamin
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki