Login
Login-Name Passwort


 
Newsletter
Werbung

Mi, 18. Mai 2005, 00:00

Subversion

Vorwort

Cover von Subversion

Hans-Joachim Baader (hjb)

Cover von Subversion

Subversion (SVN) ist ein freies Versionsverwaltungssystem, das vor einigen Jahren mit dem Ziel begonnen wurde, CVS abzulösen. Nachdem mittlerweile die Versionen 1.0 und 1.1 freigegeben wurden und Version 1.2 in den Startlöchern steht, nehmen das Interesse an SVN und seine Akzeptanz spürbar zu. So wurde erst kürzlich gemeldet, daß das KDE-Projekt die Versionsverwaltung vollständig auf SVN umgestellt hat, und das ist kein kleines Projekt, nach welcher Messung auch immer.

So wurde es höchste Zeit für ein Buch über SVN. Neben dem vorliegenden gibt es ein weiteres deutschsprachiges Buch: Die Übersetzung des Subversion-Buches, das von einigen der SVN-Autoren geschrieben wurde und im O'Reilly-Verlag erschienen ist. Dieses ist mir aber noch nicht bekannt.

Der Autor

Der Autor Frank Budszuhn bezeichnet sich als Experte in Versionsverwaltungs-Systemen. Er ist Diplom-Informatiker und kann auf zehn Jahre Softwareentwicklung zurückblicken. Noch im Jahr 2004 veröffentlichte er ein Buch über CVS (ebenfalls im Verlag Galileo Computing). In seinem vorliegenden Werk über SVN bezeichnet er CVS allerdings unverhohlen als veraltet und mit zahlreichen Mängeln versehen.

Das Buch

Das Buch gliedert sich in zwei Teile. Dem über 200 Seiten einnehmenden Haupttext folgt eine Referenz, die zum einen die Subversion-Befehle auf gut 80 Seiten dokumentiert sowie auf nochmals acht Seiten die Konfigurationsdateien (unter Windows auch: die Registrierungseinträge) beschreibt. Dieser folgen noch die vier Anhänge. Ein Index rundet das Buch ab. Zusätzlich gibt es noch eine Referenzkarte der SVN-Befehle. Ihren Hauptzweck sehe ich darin, das benötigte Kommando herauszufinden, und dann mit svn help <Kommando> genaue Hinweise zur Benutzung dieses Kommandos zu erhalten.

Der Haupttext ist wie gesagt über 200 Seiten lang. Das mag einem viel vorkommen für ein einzelnes Programm, doch SVN ist ein komplexes Programm, für das die vorliegende Darstellung durchaus angemessen ist. Es beginnt mit einleitenden Kapiteln zu Allgemeinem, Subversion und dem Entwicklungsprozess. Hier wird schon einmal dargestellt, wie mehrere Entwickler an einem Projekt mit SVN zusammenarbeiten (sollten), und die Tatsache, daß Konflikte entstehen können, die gelöst werden müssen, wird herausgestellt. Die Installation wird auf zehn Seiten kurz abgehandelt (später in Anhang A wird beschrieben, wie man eine Installation ohne Server vornimmt, was ziemlich einfach ist).

Im fünften Kapitel macht man erstmals Bekanntschaft mit SVN selbst. Die ersten Schritte zeigen im Wesentlichen die Befehle checkout, update und commit, wobei auch ein erster (trivialer) Konflikt demonstriert wird. Etwas seltsam mutet an, wie der Autor Verzeichnislistings darstellt. Er listet nicht etwa die Dateien auf, möglicherweise mit Permissions und so weiter, wie sie das Kommando ls -l zeigen würde, nein, er bringt einen Screenshot, in dem der Internet Explorer das jeweilige Verzeichnis zeigt. Der vergleichsweise kleine Screenshot hat zur Folge, daß die Dateinamen kaum einen Millimeter groß sind und man schon genau hinsehen muß, um sie lesen zu können.

Danach wird der Entwicklungsprozess im Detail beschrieben. Logisch aufgebaut und mit nachvollziehbaren Beispielen versehen, ist dieses Kapitel für den angehenden SVN-Benutzer wohl das wichtigste; mit 62 Seiten ist es auch das umfangreichste außer der Referenz. Die meisten SVN-Befehle kommen hier zur Sprache, es wird die Versionszählung ebenso wie der Aufbau des Repositorys erläutert, und die Operationen Verzweigen, Zusammenführen und Tagging werden so verständlich erklärt, daß man selbst als Einsteiger keine Schwierigkeiten haben sollte. Da fragt man sich, warum diese Themen in CVS selbst Experten solche Bauchschmerzen bereiten. Die Antwort liegt wohl in den grundlegenden Schwächen von CVS begründet, das für jede Datei eine eigene Versionsnummer führt und Tags gesondert behandelt.

Dem Umstieg von CVS auf SVN ist sowieso noch ein eigenes Kapitel gewidmet, das nicht nur die konzeptionellen Unterschiede behandelt, sondern auch die Konvertierung von CVS- in SVN-Repositorys. Spätestens jetzt dürfte klar sein, daß CVS und SVN zwar oberflächlich ähnlich aussehen, was den Anwendern natürlich entgegenkommt, in der Implementierung jedoch völlig getrennte Wege gehen. CVS ist monolithisch, verwendet RCS zur Versionskontrolle der Dateien und implementiert proprietäre Protokolle, womit es den Anschluß an die moderne Welt weitgehend verpaßt hat. SVN dagegen verwendet ein Datenbank- oder Dateisystem-gestütztes Repository, ist modular, verwendet die Apache Portable Runtime (APR) als grundlegende Bibliothek, um von der eingesetzten Plattform zu abstrahieren, und so weiter.

Befehle, die in der Beschreibung des Entwicklungsprozesses nicht vorkamen, werden in Kapitel 7 bei den fortgeschrittenen Themen nachgereicht. Dazu gehören neben vielem anderen auch die lokale Konfiguration des SVN-Clients, Properties und Vendor Branches. Mit den Tips in diesem Kapitel kann man sich in vielen Fällen die Arbeit erleichtern.

Es bleibt noch das Kapitel 8 zu erwähnen, das SVN aus Sicht des Administrators beschreibt. Hier kommen Themen wie die unvermeidlichen Berechtigungen zur Sprache, aber auch Wartung, Problembehebung (besonders die Berkeley DB scheint sehr anfällig zu sein und eher weniger zu empfehlen) und Backup fehlen nicht. Man merkt, daß der Autor auf eine lange Praxis zurückblicken kann und somit alle wichtigen Punkte ansprechen kann.

Im Anhang findet man neben dem schon erwähnten Aufsetzen von Subversion ohne Server ein Glossar und ein Link- und Literaturverzeichnis, besonders aber einen »Leitfaden für Projektleiter«. Dieser ist zwar nur kurz, aber trotzdem beachtenswert. Allerdings spiegeln sich darin Erfahrungen wider, die wohl jede Versionsverwaltung betreffen, keineswegs nur Subversion. Dennoch sollte man die Tips des Autors nicht ignorieren.

Zum Buch gibt es auch eine Webseite, subversionbuch.de. Sie informiert über das Buch, über neue Versionen von SVN und bietet die Beispielprogramme zum Herunterladen an. Außerdem findet man hier Korrekturen. Bisher sind es lediglich zwei, eine davon betrifft den Index: In diesem sind ein paar Seitenzahlen verrutscht. Wer Wert auf die korrekten Zahlen legt, kann sich hier eine korrigierte Version herunterladen.

Fazit

Das Buch hat mir außerordentlich gut gefallen. Es setzt keine Kenntnisse in Versionsverwaltung voraus, sondern gibt von der Einführung über die ersten Schritte bis zu fortgeschrittenen Themen eine umfassende Darstellung von SVN. Der Text ist sehr klar und verständlich geschrieben und sehr stark praxisorientiert. Allen, die sich für SVN interessieren, gibt es einen verläßlichen Leitfaden an die Hand. Es kann die vorhandene Dokumentation, von den Manpages bis zur Online-Dokumentation, die sicher nicht schlecht, aber überwiegend englisch ist, vollständig ersetzen oder auch als deren Ergänzung dienen.

Fakten

Jahr: 2005
Autor: Frank Budszuhn
Preis: 29,90 EUR
Umfang: 339 Seiten
Verlag: Galileo Computing
ISBN: 3-89842-603-3

  • Dieses Werk wurde unter der Commons Attribution-Share Alike Lizenz veröffentlicht. Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der Commons Attribution-Share Alike, veröffentlicht von der Creative Commons.

    - Weitere Informationen
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung