TUHH
STS
contact
people
research
teaching
research
> STS > Service > SVN bei STS

SVN bei STS

Der STS-SVN Server hat den Hostnamen svn.sts.tu-harburg.de.
Administratorzugang haben Thomas Sidow, Thomas Rahmlow und Rainer Marrone

Zugriffe auf SVN richten die Adminstratoren ein.

Um auf ein vorhandenes Subversion-Repository zuzugreifen, gibt es den Befehl svn. Der der Inhalt von jedem Client kann darauf wie folgt angezeigt werden:

svn list http://svn.beispiel.de/pfad/zum/projekt

Mit dem Befehl svn checkout können Sie ein existierendes Projekt in das aktuelle Verzeichnis abspeichern:

svn checkout http://svn.beispiel.de/pfad/zum/projekt projektname
Als Beispiel STS:
svn checkout --username t.sidow http://svn.sts.tu-harburg.de/sts sts-ts

svn import
Mit dem svn import-Befehl kann ein unversionierter Verzeichnisbaum schnell in ein Repository kopiert werden,
wobei benötigte Zwischenverzeichnisse nach Bedarf angelegt werden. svn import erfordert keine Arbeitskopie und pflegt
Ihre Dateien sofort in das Repository ein. Typischerweise verwenden Sie diesen Befehl,
wenn bereits ein Verzeichnisbaum besteht, den Sie aber in einem Subversion-Repository pflegen möchten.
Zum Beispiel:
$ svn import mytree http://svn.sts.tu-harburg.de/project -m "Erstimport"
Hinzufügen mytree/foo.c
Hinzufügen mytree/bar.c
Hinzufügen mytree/subdir
Hinzufügen mytree/subdir/quux.h

Revision 1 übertragen.

Im vorstehenden Beispiel wurde der Inhalt des Verzeichnisses mytree unter dem Verzeichnis project im Repository abgelegt:

$ svn list http://svn.sts.tu-harburg.de/project
bar.c
foo.c
subdir/

Beachten Sie, dass nach dem Import der Originalbaum nicht in eine Arbeitskopie umgewandelt wird.
Vor Beginn der Arbeit müssen Sie noch svn checkout ausführen, um eine frische Arbeitskopie des Baums zu erhalten.
Empfohlene Repository Aufteilung
Obwohl die Flexibilität von Subversion es Ihnen erlaubt, Ihr Repository nach Belieben aufzuteilen, wird empfohlen,
ein Verzeichnis trunk für die "Hauptlinie" der Entwicklung, ein Verzeichnis branches für Branch-Kopien und ein Verzeichnis
tags für Tag-Kopien. Zum Beispiel:
$ svn list http://svn.sts.tu-harburg.de/sts
/trunk
/branches
/tags

Mit dem Auschecken erhält man ein neues Unterverzeichnis projektname auf dem Client. In diesem kann man beliebige Änderungen (hinzufügen, kopieren, umbenennen, löschen) durchführen:

svn add file
svn copy oldfile newfile
svn move oldfile newfile
svn delete file

Jede dieser Befehle ist nicht nur auf Dateien, sondern auch auf Verzeichnisse anwendbar. Des Weiteren kann Subversion auch sog. properties (Eigenschaften) zu einer Datei oder Verzeichnis festhalten:

svn propset license GPL foo.txt

Setzt im vorigem Beispiel für die Datei foo.txt die Eigenschaft license auf den Wert GPL. Durch svn proplist können Sie Eigenschaften anzeigen:

svn proplist --verbose foo.txt
Properties on 'foo.txt':
license : GPL

Um Ihre Änderungen zu veröffentlichen, das heißt, auf dem Server zurückzuspielen, gibt man ein:

svn commit

Damit ein anderer Benutzer Ihre Änderungen in seinem Arbeitsverzeichnis eingespielt bekommt, muss er einen Abgleich mit dem Server über den folgenden Befehl vornehmen:

svn update

Ebenso kann der Status eines Subversion-Arbeitsverzeichnisses ohne Zugriff auf das Repository angezeigt werden:

svn status

Hilfe: svn help

svn help proplist
proplist (plist, pl): List all properties on files, dirs, or revisions.
usage: 1. proplist [PATH...]
2. proplist --revprop -r REV [URL]

1. Lists versioned props in working copy.
2. Lists unversioned remote props on repos revision.
...

Authentifizierung als ein anderer Anwender

Da Subversion standardmäßig Zugangsdaten speichert (sowohl den Benutzernamen als auch das Passwort), erinnert es sich bequemerweise,
wer Sie das letzte Mal waren, als Sie Ihre Arbeitskopie modifizierten. Doch manchmal ist das nicht hilfreich –
besonders, wenn Sie in einer gemeinsam benutzten Arbeitskopie arbeiten wie in einem Konfigurationsverzeichnis oder im
Dokumenten-Wurzelverzeichnis eines Webservers. In diesem Fall brauchen Sie nur die --username-Option auf der Kommandozeile
zu übergeben und Subversion versucht, sich als dieser Benutzer zu authentifizieren und wird Sie, wenn nötig, zur Eingabe eines
Passworts auffordern.

Subversion Windows Clients 32Bit und 64Bit:
http://www.sliksvn.com/en/download

Weitere Hilfen und Plugins

Tortoise Subversion Tutorial von Daniel Grunewald
Subversion 1.5 Handbuch