Den Navigationsbereich überspringen...

Navigation

[Buchcover: Pragmatic Version Control Using Subversion]
Buchinformationen:
Mike Mason. Pragmatic Version Control Using Subversion. 1st Edition März 2005. Errata. O'Reilly. ISBN 0-9745140-6-3. 200 Seiten. 29 Euro.

Rezensent: Sebastian Inacker (04/2005) für die Freiburger Linux User Group.

Metainformationen

"Pragmatic Version Control Using Subversion" ist ein Buch aus der "Pragmatic Bookshelf" Reihe, die von O'Reilly als "eine Serie von Büchern von Entwicklern für Entwickler" beschrieben wird. Es ist unter anderem bei O'Reilly in gedruckter Form zu haben - oder bei den Pragmatic Programmers im Katalog. Letztere Bezugsquelle ist aber vermutlich eher dann interessant, wenn man Interesse an einer PDF-Version des Buches hat.

Das Buch von Mike Mason hat neben der Seite beim O'Reilly-Verlag auch eine eigene Seite bei den eben schon erwähnten Pragmatic Programmers, auf der es eine eigene Fehlerliste, Sourcecode und auch Buchauszüge gibt, die von O'Reilly unabhängig zu sein scheinen. "The Pragmatic Programmers" ist übrigens eine IT-Consulting-Firma und ein eigenständiger Verlag in den USA, aus deren Buchreihe dieses Werk stammt. O'Reilly vertreibt Pragmatic Programmers in den USA und in Deutschland.

Das Buch

Kapitel 1 schildert anhand eines Beispielsszenarios, warum man Versionskontrolle (aka "source code control") einsetzen sollte beziehungsweise was Versionskontrolle vereinfacht oder erst ermöglicht. Anschließend wird der weitere Vorgang im Buch geschildert - und warum die Wahl auf Subversion fiel. Kapitel 2 schildert, was Versionskontrolle ist und definiert die zentralen Begriffe, die man für den Umgang damit (und mit Subversion im speziellen) kennen sollte.

Kapitel 3 - "Getting Started with Subversion" - führt Subversion praktisch ein. "The best way to get familiar with a new software tool is to try it [...]." Beschrieben wird, wie man unter Windows oder Unix ein Repository und anschliessend ein Projekt anlegt und beginnt, damit ein bißchen zu arbeiten. Dabei wird sogar schon auf den Umgang mit Konflikten in Dateien eingegangen, die entstehen, wenn beispielsweise zwei Personen die gleiche Zeile in einer Datei unterschiedlich abändern. Auf die Behandlung von Konflikten wird in Kapitel 6, das die für den Alltagseinsatz wichtigsten Techniken vorstellt, erneut eingegangen. "Getting Startet with Subversion" ist ein guter Einblick in die Zielsetzung des Buches: Versionskontrolle soll nicht durch die Aufzählung aller vorhandenen Kommandos erläutert werden, sondern anhand eines Projektes, das mittels Versionskontrolle verwaltet wird. Und dabei wird auf Unix und Windows eingegangen. Pragmatic Version Control Using Subversion ist kein reines Windows- oder Unix-Buch.

Kapitel 4 führt kurz in die folgenden Kapitel ein, bevor es dann in Kapitel 5 daran geht, wie man auf ein Repository zugreifen kann. (Das Repository ist der Platz, in dem die aktuellen Daten mitsamt ihrer "Geschichte" abgelegt sind.) Beschrieben wird der Zugriff auf die Daten über svnserve (den Server, den Subversion mitliefert), der Weg über HTTP und über SSH getunnelt.

Kapitel 6 - "Common Subversion Commands" - führt fort, was in Kapitel 3 begonnen wurde. Das Arbeiten mit Projekten wird ausführlicher beschrieben. Neben den üblichen Aktionen wie Dateien einchecken, aktualisieren oder auschecken werden Properties beschrieben, mit denen man unter anderem festlegen kann, welche Schlüsselworte in der jeweiligen Datei expandiert werden. Im Gegensatz zu CVS wird ein $Id: $ nicht expandiert, wenn es nicht explizit für diese Datei angegeben wurde. Eine wesentliche Verbesserung von Subversion im Gegensatz zu CVS ist die Möglichkeit, ohne Tricks Dateien und Verzeichnisse umzubenennen - ohne deren History zu verlieren. Auch das wird hier beschrieben.

Im 7ten Kapitel "Organizing your Repository" wird empfohlen, wie (im Sinne der Verzeichnisstruktur) man sein Repository anlegen sollte. Interessant wird das im Hinblick auf Kapitel 8, das sich mit Tags und Branches für beispielsweise Releases, Bugfix-Sourcetrees und Entwicklerspielwiesen beschäftigt. Folgt man den Empfehlungen, die nicht nur in diesem Buch gemacht werden, hat man es leichter, verschiedene Entwicklungslinien übersichtlich in sein (zentrales) Repository einzupflegen. Kapitel 10 behandelt die Einbindung von "Third-Party Code". Der Autor macht hier Vorschläge, wie man - wenn überhaupt - fremden Sourcecode oder Bibliotheken in sein eigenes Repository einbindet.

Kapitel 9 beschäftigt sich erneut mit dem Anlegen eines Projektes. Dabei wird jedoch nicht nur svn import aus Kapitel 3 wiederholt. Mike Mason stellt hier auch eine von Versionskontrolle unabhängige Struktur für Projekte vor. Er empfiehlt zum Beispiel Textdateien, die dabei behilflich sind, sich nach längerer Zeit wieder an das Projekt zu erinnern oder wie man das Projekt wieder kompiliert bekommt. (Schon in Kapitel 2 wird empfohlen, nichts in das Repository zu speichern, was man ohne allzu großen Aufwand erneut generieren kann - wenn man sich erinnern kann, wie das ging...)

Den Abschluß des Buches bilden 5 Anhänge. Anhang A beschreibt die Installation eines Subversion Servers auf Windows und Fedora Core 3. Anschließend geht es an die Einrichtung der verschiedenen Zugriffsmöglichkeiten über das Netzwerk auf einem Windows oder Linux Server, wobei Linux hier wie erwähnt Fedora bedeutet. Wer nicht einfach die Fedora Pakete benutzen kann, hat mehr Aufwand bei der Konfiguration, sofern die Pakete der eigenen Distribution nicht auch alles so vorkonfigurieren wie bei Fedora: "The mod_dav_svn package provides the modules to integrate with Apache and automatically puts them in the right place." Unter anderem muß dann erstmal zum Beispiel das Subversion-Buch zu Rate gezogen werden, was überhaupt zu tun ist. Sobald der Server läuft geht es im Kapitel darum, wie man den Server sicherer konfigurieren und wie man Backups seines Repository anlegen kann.

Anhang B beschreibt, wie man sein CVS-Repository nach Subversion migrieren kann. Die hier als existent erwähnten Tools, um Repositories von ClearCase, Perforce und Visual SourceSafe zu migrieren, werden leider auch im Anhang C, der sich mit "Third-Party Subversion Tools" beschäftigt, nicht genannt. Dafür wird TortoiseSVN beschrieben, das Subversion in den Windows Explorer integriert. Anderen Tools werden weitere 7 Absätze gewidmet.

Anhang D bietet eine Zusammenfassung der Subversion Kommandos. Ein recht üblicher Teil solch eines Buches: Befehle mit Optionen zum nachschlagen. Anhang D bietet aber auch eine Reihe von "Rezepten", wie man etwas machen kann. "Showing the most recent change of a file" funktioniert zum Beispiel mit svn diff -r PREV:BASE file und wird auf Seite 85 beschrieben. Diese Rezepte sind nach der Seite geordnet, auf der sie beschrieben sind. Es hilft also beim Finden, wenn man weiss, wo in etwa das gesuchte Rezept beschrieben stehen könnte.

Anhang E ist ein Verweis auf Online-Ressourcen zum Thema und eine Bibliographie der im Buch erwähnten Literatur. Ein Indexverzeichnis beansprucht die letzten sieben Seiten des Buches.

Fazit

"Pragmatic Version Control Using Subversion" ist eine gute und dabei nicht zu umfangreiche Einführung in die Versionskontrolle mit Subversion. Zielgruppe sind durch die praxisorientierte Herangehensweise des Buches Anwender, die mit Unix oder Windows als Betriebssystem auf der "Client-Seite" sitzen, d.h. die mit Subversion ihre Projektdaten verwalten wollen.

Spambots folgen bitte diesem Link.

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