Diese Dokumentation wurde zur Beschreibung der Serie 1.6.x von Subversion erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.

Schnellstart-Lehrgang

Bitte stellen Sie sicher, dass Ihre Lehnen aufrecht stehen und die Tabletts eingeklappt und verriegelt sind! Flugbegleiter, bitte für den Start vorbereiten….

Es folgt eine schnelle Einführung, die Sie durch einige grundlegende Einstellungen und Funktionen von Subversion führt. Nach Abschluss sollten Sie ein allgemeines Verständnis über die Verwendung von Subversion haben.

[Anmerkung] Anmerkung

Die Beispiele in diesem Anhang gehen davon aus, dass Ihnen svn, der Subversion-Kommandozeilen-Client, und svnadmin, das Verwaltungswerkzeug, auf einer Unix-ähnlichen Umgebung zur Verfügung stehen. (Dieser Lehrgang funktioniert auch auf der Windows-Kommandozeile, sofern Sie einige offensichtliche Anpassungen vornehmen.) Wir gehen auch davon aus, dass Sie Subversion 1.2 oder neuer verwenden (rufen Sie svn --version zur Überprüfung auf).

Subversion speichert alle versionierten Daten in einem zentralen Projektarchiv. Um zu beginnen, erstellen Sie ein neues Projektarchiv:

$ cd /var/svn
$ svnadmin create repos
$ ls repos
conf/  dav/  db/  format  hooks/  locks/  README.txt
$

Dieser Befehl erzeugt ein Subversion-Projektarchiv im Verzeichnis /var/svn/repos, wobei das Verzeichnis repos selbst angelegt wird, sofern es noch nicht vorhanden ist. Dieses neue Verzeichnis beinhaltet (neben anderen Dingen) eine Sammlung von Datenbankdateien. Wenn Sie hineinschauen, werden Sie Ihre versionierten Dateien nicht sehen. Weitere Informationen zur Erstellung und Wartung von Projektarchiven finden Sie in Kapitel 5, Verwaltung des Projektarchivs.

Subversion kennt kein Konzept Projekt. Das Projektarchiv ist lediglich ein virtuelles, versioniertes Dateisystem, ein großer Baum, der alles aufnehmen kann, was Sie wollen. Manche Administratoren bevorzugen es, nur ein Projekt in einem Projektarchiv zu speichern, wohingegen andere mehrere Projekte in einem Projektarchiv unterbringen, indem sie sie in getrennten Unterverzeichnissen ablegen. Wir erörtern die Vorteile jedes Ansatzes in „Planung der Organisation Ihres Projektarchivs“. So oder so, das Projektarchiv verwaltet nur Dateien und Verzeichnisse, so dass es ganz allein bei den Menschen liegt, bestimmte Verzeichnisse als Projekte anzusehen. Auch wenn Sie in diesem Buch Bezüge auf Projekte sehen sollten, denken Sie daran, dass wir dabei nur über irgendein Verzeichnis (oder eine Sammlung von Verzeichnissen) im Projektarchiv sprechen.

In diesem Beispiel gehen wir davon aus, dass Sie bereits so etwas wie ein Projekt (eine Sammlung aus Dateien und Verzeichnissen) haben, die Sie in Ihr frisch erstelltes Subversion-Projektarchiv importieren möchten. Fangen Sie damit an, Ihre Daten innerhalb eines einzelnen Verzeichnisses namens myproject (oder ein anderer Wunschname) zu organisieren. Aus Gründen, die in Kapitel 4, Verzweigen und Zusammenführen erklärt werden, sollte die Struktur Ihres Projektbaums drei oberste Verzeichnisse namens branches, tags und trunk haben. Das Verzeichnis trunk sollte alle Ihre Daten beinhalten, und die Verzeichnisse branches und tags sollten leer sein:


/tmp/
   myproject/
      branches/
      tags/
      trunk/
         foo.c
         bar.c
         Makefile
         …

Die Unterverzeichnisse branches, tags und trunk werden von Subversion nicht tatsächlich benötigt. Sie sind eher eine verbreitete Konvention, die sehr wahrscheinlich auch Sie später verwenden wollen.

Sobald Sie Ihre Daten vorbereitet haben, importieren Sie sie mit dem Befehl svn import in das Projektarchiv (siehe „Wie Sie Daten in Ihr Projektarchiv bekommen“):

$ svn import /tmp/myproject file:///var/svn/repos/myproject \
      -m "initial import"

Hinzufügen     /tmp/myproject/branches
Hinzufügen     /tmp/myproject/tags
Hinzufügen     /tmp/myproject/trunk
Hinzufügen     /tmp/myproject/trunk/foo.c
Hinzufügen     /tmp/myproject/trunk/bar.c
Hinzufügen     /tmp/myproject/trunk/Makefile
…
Revision 1 übertragen.
$ 

Nun enthält das Projektarchiv diesen Baum von Daten. Wie bereits erwähnt, werden Sie Ihre Dateien nicht sehen, wenn Sie direkt in das Projektarchiv schauen; sie werden alle in einer Datenbank abgelegt. Das imaginäre Dateisystem des Projektarchivs jedoch enthält nun ein Verzeichnis namens myproject, welches wiederum Ihre Daten enthält.

Beachten Sie, dass das ursprüngliche Verzeichnis /tmp/myproject unverändert bleibt; für Subversion bedeutet es nichts. (Sie können das Verzeichnis eigentlich löschen, wenn Sie möchten.) Um damit zu beginnen, Projektarchiv-Daten zu bearbeiten, müssen Sie eine neue Arbeitskopie der Daten anlegen, eine Art privater Arbeitsbereich. Fordern Sie Subversion dazu auf, eine Arbeitskopie des Projektarchiv-Verzeichnisses myproject/trunk auszuchecken:

$ svn checkout file:///var/svn/repos/myproject/trunk myproject
A    myproject/foo.c
A    myproject/bar.c
A    myproject/Makefile
…

Ausgecheckt, Revision 1.

Nun haben Sie eine persönliche Kopie eines Teils des Projektarchivs in einem Verzeichnis namens myproject. Sie können die Dateien in Ihrer Arbeitskopie bearbeiten und dann diese Änderungen zurück an das Projektarchiv übertragen.

Eine vollständige Führung durch alles, was Sie mit Ihrer Arbeitskopie machen können, finden Sie in Kapitel 2, Grundlegende Benutzung.

An dieser Stelle haben Sie die Möglichkeit, Ihr Projektarchiv für andere über das Netz erreichbar zu machen. Siehe Kapitel 6, Konfiguration des Servers, um mehr über die verschiedenen Arten von verfügbaren Server-Prozessen zu erfahren und wie sie konfiguriert werden.