Den Navigationsbereich überspringen...

Navigation

[Buchcover: Version Control with Subversion]
Buchinformationen:
Ben Collins-Sussman, Brian W. Fitzpatrick & C. Michael Pilato. Version Control with Subversion. (Probekapitel: Basic Concepts.) First Edition Juni 2004. Errata. O'Reilly. ISBN 0-596-00448-6. 304 Seiten. 34.00 Euro.

Rezensent: Sebastian Inacker (07/2004) für die Freiburger Linux User Group.
Veröffentlicht in der UpTimes Februar 2005

Vorbemerkungen

Ich verwende schon seit langer Zeit CVS zur Versionsverwaltung von Dateien. Subversion ist (neben anderen) ein Projekt, das CVS vollständig ersetzen (können) soll. Da Subversion alles - und noch mehr - bieten will, was CVS kann, dachte ich mir, daß es sich lohnt, mich einmal näher damit zu beschäftigen. Der Text dieses Buches ist englisch und auch unter der Creative Commons Attribution License verfügbar - siehe "Papier oder Bytes?" später im Text. Die deutsche Übersetzung erscheint im November 2004.

Zum Buch selbst

Die Autoren, die zum Entwickler-Team von Subversion gehören, geben am Anfang Empfehlungen, welche Kapitel man als (erfahrener und unerfahrener) Benutzer, Administrator oder Entwickler lesen sollte. Ich habe mich an diese Empfehlungen gehalten und das Buch zuerst als Benutzer und dann als Admin gelesen.

Das erste Kapitel, das wie Kapitel 9 keiner dieser Gruppen explizit empfohlen wird ;-), stellt unter anderem einige Features von Subversion vor. Außerdem erfährt man, daß das Buch die 1.0er-Serie dokumentiert und, daß die Fragen und Probleme der Benutzer der Subversion-Mailingliste großen Einfluß auf das Buch hatten. Das bemerkt man im Buch durch verschiedene Exkurse oder Tipps und Tricks für das tägliche Arbeiten. Kapitel 9 ist eine Art "Subversion in a Nutshell" mit 58 Seiten.

New users

Das Kapitel "Basic Concepts" führt in die Terminologie und die Grundkonzepte von Subversion ein. Es ist zwar für "Neulinge" auf dem Gebiet Versionskontrolle empfohlen, es lohnt sich meiner Meinung nach allerdings auch für CVS-Kenner, da es das Bild "abrundet" und auch nützlich Informationen eben zu Subversion bietet. In der "Guided Tour" wird das alltägliche Arbeiten vorgestellt und erklärt. Wer mit Subversion arbeiten will, sollte dieses zwei Kapitel nicht verpassen. Anhang A listet die Unterschiede bzw. Vorteile von Subversion im Vergleich zu CVS auf.

Advanced users

In "Branching and Merging" erfährt man, wie man (effektiv) mit Branches arbeiten kann oder wie man z.B. mit einem merge eine Änderung einer eingecheckten Datei wieder rückgängig machen kann. Da Tags und Branches bei Subversion das gleiche sind, werden Tags auch hier in einem Unterkapitel beschrieben. Kapitel "Advanced Topics" will den Leser zu einem "Power-User" machen. Das Kapitel bietet aber auch "normalen Usern" hilfreiche Informationen. Zum Beispiel, wie man mit "Properties" Dateien von Subversion ignorieren lassen kann, wie man svn mit Konfigurationsdateien steuert oder wie Keywords gesetzt und deren Expansion auch aktiviert wird. Man sollte sich also nicht vom Titel des Kapitels abschrecken lassen und es einfach lesen.

Experienced sysadmins

Kapitel 5 ("Repository Administration") enthält wichtige Informationen dazu, wie man ein Repository anlegt, die Berkeley DB, in der die Daten abgespeichert sind, sichert, konfiguriert oder (Subversion) aktualisiert. Außerdem werden die Skripte beschrieben, die durch Aktionen "getriggert" werden. Sollte man sich beim Anlegen des Repositories "verplant" haben, so erfährt man hier auch, wie man das wieder "reparieren" kann. Das Kapitel hätte man allerdings noch etwas mehr unterteilen können: Die Seiten 86 (ab svndumpfilter) bis 98 (Migrating a Repository) hätte man auch in einen Abschnitt "Advanced Repository Administration" packen können. Für das Kennenlernen der Repository Administration sind diese Seiten vielleicht etwas zu früh. Das Kapitel 6 ("Server Configuration") beschreibt, wie man sein Repository auf verschiedene Weisen über das Netzwerk verfügbar machen kann. Man muß nicht unbedingt einen Apache 2 (ggf. parallel zu einem Apache 1.x) laufen haben, um Zugang zum Repository zu ermöglichen.

Fazit

Das Buch eignet sich sehr gut, wenn man Subversion als Benutzer oder auch als (zukünftiger) Admin eines Subversion-Servers kennenlernen will - und dabei wird nicht vorausgesetzt, daß man schon ein alter Hase auf dem Gebiet der Versionskontrolle ist. Die Autoren haben sich aus eigenem Interesse darum bemüht, eine gute Dokumentation zu schreiben, da dieses Buch bzw. der Text auch als Dokumentation zu Subversion dient.

Die Erläuterungen im Buch gehen zwar eher auf die Unix-Welt ein, Windows bzw. die Konfiguration unter Windows wird aber nicht "verschwiegen".

Das Buch beantwortet auch Fragen, die man sich stellt, wenn man von CVS zu Subversion kommt. Zum Beispiel: Wenn alle Dateien im Repository die gleiche Revisionsnummer haben - wie finde ich dann den Stand bzw. die Revisionsnummer einer Datei vor der letzten Änderung? (Dazu gibt es - abgesehen vom Logfile der Datei - Revision Keywords oder auch svn status --verbose.)

Gefallen hat mir auch, daß ein paar Entscheidungen wie zum Beispiel für die Berkeley DB im Text begründet werden.

Papier oder Bytes?

Das Buch bzw. der Text steht unter der Creative Commons Attribution License und ist online und im Source Code von Subversion verfügbar. Die online-Version kann natürlich im Gegensatz zu einem gedruckten Buch aktualisiert und korrigiert werden - mancher liest aber lieber in einem Buch als den gleichen (bzw. ähnlichen) Inhalt am Bildschirm. Ob man die online-Version als praktische Ergänzung zum Buch oder als einzige Quelle verwendet, muß letzlich jeder für sich selbst entscheiden. Ich persönlich mag Bücher :-).

Spambots folgen bitte diesem Link.

<URL:http://www.inacker.de/reviews/subversion.html>
HTML 4.01 / CSS / WML