Inhaltsverzeichnis
Dieses Kapitel ist eine leicht veränderte Version desselben Kapitels aus dem Subversion Buch. Das vollständige Subversion Buch findet Sie unter folgender Adresse: http://svnbook.red-bean.com/ .
Dieses Kapitel ist eine kurze, beiläufige Einführung in Subversion. Falls Sie noch nie etwas von Versionskontrolle gehört haben, dann ist dieses Kapitel definitiv etwas für Sie. Wir beginnen mit einer Diskussion über allgemeine Konzepte der Versionskontrolle, arbeiten uns dann vor in die spezifischen Ideen hinter Subversion und zeigen ein paar einfache Beispiele zur Benutzung von Subversion.
Obwohl die hier gezeigten Beispiele Personen zeigen, die mit Quellcode arbeiten, beachten Sie bitte, dass Subversion jegliche Art von Daten verarbeiten kann - es ist nicht auf Quellcode beschränkt.
Subversion ist ein zentralisiertes System für die Verteilung von Informationen. In seinem Kern befindet sich eine Datenbank, welche die Informationen in Form eines Dateibaumes - einer typischen Hierarchie von Dateien und Ordnern - abspeichert. Eine beliebige Anzahl von Clients kontaktiert das Projektarchiv und liest und schreibt von/in diese Dateien. Durch ein Schreiben von Daten stellt ein Client diese Daten auch anderen zur Verfügung, durch Lesen von Daten bekommt ein Client die Informationen von anderen.
Warum ist dies so interessant? Bis jetzt klingt dies alles wie die Definition eines typischen Dateiservers. Und tatsächlich ist das Projektarchiv eine Art Dateiserver, aber sie ist kein typischer Dateiserver. Was das Subversion Projektarchiv so speziell macht, ist, dass diese jede je gemachte Änderung speichert: jede Änderung an einer Datei, sogar Änderungen am Dateibaum selbst wie das Hinzufügen, Löschen oder Umbenennen/Verschieben von Dateien und Ordnern.
Wenn ein Client Daten aus dem Projektarchiv liest, so sieht er normalerweise nur die aktuellste Version des Dateibaumes. Aber ein Clientprogramm hat auch die Möglichkeit, frühere Versionen zu sehen. Zum Beispiel kann ein Client Fragen stellen wie „Was enthielt dieser Ordner letzten Mittwoch?“ oder „Wer war die letzte Person, welche diese Datei geändert hat und was für Änderungen waren dies?“. Dies sind die Art von Fragen, die das Herz eines Versionskontrollsystems bilden: Systeme, welche gebaut wurden um Änderungen aufzuzeichnen und über die Zeit hinweg zu verfolgen.