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.

Das Subversion Projektarchiv, Definition

Bevor wir uns in das weite Feld der Projektarchiv-Verwaltung begeben, wollen wir definieren, was ein Projektarchiv ist. Wie sieht es aus? Wie fühlt es sich an? Trinkt es seinen Tee heiß oder mit Eis, gesüßt oder mit Zitrone? Als Administrator wird von Ihnen erwartet, dass Sie den Aufbau eines Projektarchivs sowohl auf der physischen Betriebssystemebene verstehen – wie sich ein Subversion-Projektarchiv aussieht und wie es sich gegenüber Nicht-Subversion-Werkzeugen verhält – als auch aus einer logischen Perspektive – wie Daten innerhalb des Projektarchivs repräsentiert werden.

Mit den Augen eines typischen Dateibrowsers (wie Windows Explorer) oder von kommandozeilenorientierten Dateisystem-Navigationswerkzeugen ist das Subversion-Projektarchiv bloß ein weiteres gewöhnliches Verzeichnis voller Zeugs. Es gibt einige Unterverzeichnisse mit Konfigurationsdateien, die für Menschen lesbar sind, einige Unterverzeichnisse mit weniger lesbaren Dateien usw. Wie in anderen Bereichen des Subversion-Designs, wird auch hier viel Wert auf Modularität gesetzt, und hierarchische Organisation wird vollgepfropftem Chaos vorgezogen. Ein flacher Blick in ein typisches Projektarchiv aus praxisbezogener Sicht reicht aus, um die grundlegenden Komponenten des Projektarchivs zu offenbaren.

$ ls repos
conf/  db/  format  hooks/  locks/  README.txt

Hier ist ein schneller, oberflächlicher Überblick über das, was Sie in diesem Verzeichnislisting sehen. (Verzetteln Sie sich nicht mit den Fachausdrücken – eine detaillierte Behandlung dieser Komponenten erfolgt an anderer Stelle in diesem und in anderen Kapiteln.)

conf

Ein Verzeichnis, das Konfigurationsdateien enthält.

dav

Ein Verzeichnis, das bereitgestellt wurde, damit mod_dav_svn seine privaten Verwaltungsdaten dort ablegen kann

db

Der Datenspeicher für all Ihre versionierten Daten

format

Eine Datei, die eine einzelne Ganzzahl beinhaltet, die die Version der Projektarchiv-Struktur angibt

hooks

Ein Verzeichnis voller Hook-Skript-Vorlagen (und den eigentlichen Hook-Skripten, sofern Sie welche installiert haben)

locks

Ein Verzeichnis für die Sperrdateien des Subversion-Projektarchivs, die benutzt werden, um die Zugreifenden auf das Projektarchiv zu verfolgen

README.txt

Eine Datei, deren Inhalt die Leser darüber informiert, dass sie in ein Subversion-Projektarchiv schauen

[Anmerkung] Anmerkung

Vor Subversion 1.5 besaß die Projektarchiv-Struktur auf der Festplatte ein Unterverzeichnis dav. mod_dav_svn verwendete dieses Verzeichnis, um Informationen über WebDAV Aktivitäten zu speichern – Abbildungen von High-Level WebDAV Protokollkonzepten auf Subversion Übergabe-Transaktionen. Subversion 1.5 änderte dieses Verhalten, indem das Eigentum über das Aktivitäten-Verzeichnis und die Möglichkeit, dessen Ort zu konfigurieren, an mod_dav_svn selbst übertragen wurde. Nun benötigen neue Projektarchive nicht unbedingt ein Unterverzeichnis dav, es sei denn, mod_dav_svn wird verwendet und wurde nicht dergestalt konfiguriert, dass seine Aktivitäten-Datenbank an einem anderen Ort abgelegt wird. Siehe „Anweisungen“ für weitere Informationen.

Selbstverständlich wird diese sonst so unauffällige Ansammlung aus Dateien und Verzeichnissen, wenn auf sie über die Subversion-Bibliotheken zugegriffen wird, eine Implementierung eines virtuellen, versionierten Dateisystems, vollständig mit anpassbaren Ereignis-Triggern. Dieses Dateisystem hat seine eigene Auffassung von Verzeichnissen und Dateien, sehr ähnlich den Auffassungen, die echte Dateisysteme (wie NTFS, FAT32, ext3 usw.) von solchen Dingen haben. Aber dies ist ein spezielles Dateisystem – es hängt diese Dateien und Verzeichnisse an Revisionen und hält alle Änderungen, die Sie daran vorgenommen haben, sicher abgespeichert und für immer abrufbereit. Hier lebt die Gesamtheit Ihrer versionierten Daten.