„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 | |
---|---|
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 |
Subversion speichert alle versionierten Daten in einem zentralen Projektarchiv. Um zu beginnen, erstellen Sie ein neues Projektarchiv:
$ svnadmin create /var/svn/repos $ ls /var/svn/repos conf/ dav/ db/ format hooks/ locks/ README.txt
Dieser Befehl erzeugt ein neues Verzeichnis,
/var/svn/repos
, das ein
Subversion-Projektarchiv enthält. 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/ /tmp/myproject/tags/ /tmp/myproject/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.
Gehen Sie in Ihre Arbeitskopie und bearbeiten Sie den Inhalt einer Datei.
Lassen Sie svn diff
laufen, um
eine vereinheitlichte Diff-Ausgabe Ihrer Änderungen zu
sehen.
Rufen Sie svn commit
auf, um die
neue Version Ihrer Datei an das Projektarchiv zu übergeben.
Rufen Sie svn update
auf, um Ihre
Arbeitskopie bezüglich des Projektarchivs zu
„aktualisieren“.
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, Die Administration eines Subversion-Servers, um mehr über die verschiedenen Arten von verfügbaren Server-Prozessen zu erfahren und wie sie konfiguriert werden.