Rezension zu O'Reillys »Versionskontrolle mit Subversion«
Neben dem Versionskontrollsystem CVS gewinnt Subversion immer weiter an Bedeutung. Nach der Erfahrung einiger Kollegen und Bekannter soll Subversin wesentliche Verbesserungen gegenüber CVS bieten. Um mich also genauer in die Software einzuarbeiten, bestellte ich das Buch »Versionskontrolle mit Subversion« von Collins-Sussmann, Fitzpatrick und Pilato.
Das Buch hinterliess bei mir einen ambivalenten Eindruck. Einerseits gab es z.T. einige nützliche Beispiele zur Einführung, andererseits wiesen jedoch weite Teile des Buches starke Ähnlichkeiten zu einer Handbuchseite eines UNIX-Systems auf.
Die ersten beiden Kapitel waren für das Grundverständnis eines Versionierungssystems nützlich und bieten für den Neueinsteiger sicher eine gute Grundlage. Des weiteren sind sie losgelöst von den übrigen Kapiteln, so dass der Leser dies überspringen oder auch einzeln gezielt lesen kann.
Das dritte Kapitel ist überschrieben mit dem Titel »Geführte Tour«. Hier erwartete ich, dass zunächst ein Beispielprojekt beschrieben wird, an dem dann beispielhaft die Funktionsweise von Subversion gezeigt wird. Beispielsweise könnte man hier Annehmen, dass der Nutzer der Software eine Webseite, Buch o.ä. schreiben möchte und dazu Subversion verwenden will. Ich stelle mir vor, dass es bei diesem Projekt schon einige Dateien gibt. So kann man zunächst zeigen, wie ein Repositorium anzulegen ist und wie die bestehenden Dateien importiert werden. Danach baut man dann Schritt für Schritt das Beispiel weiter aus. Der Leser wird so unbewusst an die Hand genommen und kann sich bei der Lektüre des Buches voll auf die Merkmale von Subversion konzentrieren.
Im Buch werden hingegen diverse Einzelbeispiele einfach aneinandergereiht. Somit wird der Leser immer wieder vom Wesentlichen abgelenkt und bei der Lektüre entstand zumindest bei mir ein »unruhiger« Eindruck. Trotz dieser Unzulänglichkeiten wird die Benutzung der Software gut beschrieben und Eigenheiten werden gut erklärt.
Verständlich und gut geschrieben war für mich auch Kapitel 4 bis 8. Hier gilt jedoch ebenfalls die Bemerkung eines fehlenden durchgängigen Kapitels. Die dann folgende Referenz ist aus meiner Sicht unnötig. Diese Informationen finden sich auch in den Handbuchseiten zum Programm und bieten keinen Mehrwert. Ebenso finde ich, dass die FAQ im Anhang~B nicht zum Umfand des Buches gehören sollte.
Alles in allem lässt sich sagen, dass das Buch zu großen Teilen einen guten Einstieg zu Subversion bietet. Es bietet sich jedoch durch Verwendung von durchgängigen Beispielen noch Raum für Verbesserung.
(Jens Kubieziel)
Nicht nur bei der Softwareentwicklung, sondern überall dort, wo man, aus gesetzlichen, wirtschaftlichen oder persönlichen Gründen auf eine Versionshistorie angewiesen ist, trifft man immer wieder auf Versionskontrollsysteme. Noch vor wenigen Jahren war, zumindest im Bereich der Softwareentwicklung, CVS der Inbegriff für Versionskontrolle, doch gewinnen heute alternative Systeme wie Subversion oder git immer mehr die Oberhand und verdrängen langsam aber sicher CVS.
Im Rahmen des User-Group-Programm von O'Reilly habe ich das Buch Versionskontrolle mit Subversion erhalten, das angetreten ist, sowohl den zukünftigen aber auch den erfahrenen Benutzer an die Hand zu nehmen und durch den Dschungel der Möglichkeiten von Subversion zu führen.
Das Buch teilt sich dabei in zwei Bereiche: Im ersten Teil geht es zuerst auf grundlegende Konzepte der Versionskontrolle ein, ohne sich unnötig lange in der trockenen Theorie aufzuhalten. In den folgenden Kapiteln zeigt es verständlich und ohne unnötigen Balast die Möglichkeiten von Subversion. Beginnend bei einfachen Aufgaben wie einem checkout aus einem Repository zeigt das Buch verständlich auf, wie sich unter Verwendung der von svn bereitgestellten Werkzeuge wie svn diff die undurchdringlich scheinende Dschungel lichtet und Subversion sinnvoll eingesetzt werden kann.
Aber nicht nur an den einfachen Benutzer ist gedacht. Dem (zukünftigen) Administrator eines Subverisonrepository widmet es interessante Seiten, ohne dabei auf alle unnötigen Feinheiten einzugehen.
Der zweite Teil des Buches verzichtet nahezu vollständig auf Prosa und listet in einer übersichtlichen, sachlichen Form Optionen und Syntax der einzelnen Befehle in Verbindung mit Subversion auf. Zur Untermalung bietet es dazu eine kurze Erklärung des Befehles sowie einige Anwendungsbeispiele. Dadurch wirkt dieser Teil des Buches wie eine erweiterte Manualpage und kann dadurch sehr gut als (Befehls-)Referenz eingesetzt werden. Für den weiter interressierten Leser oder dem Umsteiger von CVS findet sich schlussendlich im Anhang zusätzlich noch der ein oder andere nützliche Artikel.
Zusammenfassend kann man das Buch sowohl einem Anfänger wie auch einen fortgeschrittenen Anwender von Subversion empfehlen. Wer ein Schritt-für-Schritt-HowTo erwartet, wird enttäuscht sein; für alle anderen bietet es eine, zugegeben nicht ganz vollständige, Übersicht über die Möglichkeiten von Subversion.
Aber ein Wehrmutstropfen bleibt: Die vorliegende Version des Buches basiert auf der inzwischen in die Jahre gekommene Verison 1.0 von Subversion, so dass auf erst in den späteren Versionen hinzugekommenen Optionen und Möglichkeiten leider nicht eingegangen werden konnte.
(Frank Lanitz)