ISBN | 3897214601 | |
Autoren | Ben Collins-Susmann , Brian W. Fitzpatrick , Michael Pilato | |
Verlag | O`Reilly | |
Sprache | deutsch | |
Seiten | 334 | |
Erscheinungsjahr | 2006 | |
Extras | - |
Versionskontrolle ist kein neues Thema. Schon früh erkannte man die Notwendigkeit den Quellcode eines Software-Projektes effektiv verwalten und bearbeiten zu können – in kleinen, wie in großen Teams. Der bisherige Standard auf dem OpenSource-Markt hieß CVS (Concurrent Version System), das so populär war, dass es sogar für die Projekte von SourceForge.net eingesetzt wurde.
Seit nunmehr November 2004 gibt es eine Alternative: Subversion, ein Versionsverwaltungssystem, das sich als Nachfolger von CVS versteht und ebenso ein OpenSource-Projekt ist. Den Entwicklern von Subversion – ein lockerer Zusammenschluss verschiedener CVS-Nutzer unter der Schirmherrschaft der Firma CollabNet – ging es vor allem darum, die offensichtlichen Mängel und die fehlende Benutzerfreundlichkeit zu beheben. CVS stammt immerhin schon aus den 80er Jahren.
Das Buch gliedert sich in zehn Kapitel, samt verschiedener Anhänge zur Fehlerbehandlung und weitergehender Hilfen. In den ersten beiden Kapiteln berichten die Autoren über die Gedanken und den Weg der Entstehung von Subversion, sowie einen kurzen, prägnanten Schnelleinstige in Subversion.
Danach geht es aber in die Praxis. Die folgenden vier Kapitel sind das Herzstück des Buches. Hier werden sämtliche Arbeitsschritte und Konzepte von Subversionen ausführlich erklärt, mit praktischen textuellen Codebeispielen. Der User lernt schnell wie man ein Repository anspricht, wie man Dateien der Versionsverwaltung hinzufügt oder sie von dort löscht. Natürlich dürfen hier Themen wie Verzweigung und Tagging nicht fehlen und werden selbstverständlich von den Autoren bedient.
Die Kapitel 5 und 6 haben mich besonders interessiert. Sie beschreiben wie ein Administrator ein Subversion-Repository einzurichten, zu warten, zu sichern und wiederherzustellen hat. Ferner geben die Autoren wirklich hilfreiche Erläuterungen wie man Subversion mit dem beliebten Apache-Webserver verbinden kann, so dass ein einigermaßen mit dem Thema vertrauter Anwender schnell sein Repository über das Web zur Verfügung stellen kann. Gerade hier hatte ich mit einem CVS-System immer wieder Probleme.
Es folgen zwei Kapitel über Konzepte für fortgeschrittene Anwender und für Entwickler. Sehr aufmerksam fand ich es, dass die Autoren sich nicht nur auf die Linux/Unix-User konzentrierten, sondern immer wieder Tipps und Hilfen für das Windows-OS mit anfügten. Eine nette Geste, die sicherlich nicht oft in derartigen Büchern zu finden ist.
Abschließend beinhaltet das neunte Kapitel letztlich eine komplette, ausführliche und alphabetisch geordnete Referenz aller Subversion-Befehle. Sie umfasst sowohl den Syntax des Aufrufs, sowie sämtliche Optionen und Anwendungsbeispiele. Im letzten Kapitel geben die Autoren noch ein paar Tipps für die Umstellung von CVS auf SVN.
Dieses Buch hat keine Schwächen. Es liest sich flüssig und ist informativ. Die Kapitel und Beispiele sind nicht zu lang und treffen meines Erachtens genau den Kern der Sache. Man merkt deutlich, dass die Autoren sich blind in der Thematik auskennen und ihr Wissen didaktisch zum Besten geben. Besonders die Themen über das Administrieren bzw. Konfigurieren eines eigenes SVN-Servers hat mir außerordentlich gut gefallen, so dass es mir leicht möglich war, einen eigenen Server nach dieser Anleitung einzurichten.
Der zentrale Punkt eines Versionierungssystems ist ja bekanntlich die verteilte, parallele Entwicklung von Quellcode – bzw. ein und der selbe Datei – und das automatische Mergen (Zusammenführen) der Änderungen mit zugehöriger Konfliktverwaltung. Dieses zentrale Gebilde wurde für mein Dafürhalten sehr verständlich beschrieben. Anhand einer fiktiven Einkaufsliste erläutern die Autoren, wie mit Konflikten umzugehen sind und wie sie mit Subversion-eigenen und fremden Tools gelöst werden können. Als bei einem Universitäts-Projekt der erste Konflikt auftrat, habe ich das Buch zu Rate gezogen und der Konflikt war innerhalb kürzester Zeit gelöst.
An einer Stelle gibt es eventuell noch eine Optimierungsmöglichkeit: Die geführte Tour (Kapitel 3) hätte an manchen Stellen noch einfacher und plakativer geschehen können, jedenfalls für den kompletten Neueinsteiger in die Versionsverwaltung, denn laut des Klappentextes richtet sich das Buch auch an diesen. Ich denke jedoch, dass die Arbeit mit einem Versionierungssystem sich einem Neuen nicht sofort erschließt, sondern erst nach einigem try&error. Da habe ich schon einige Tutorials im Internet gefunden, die den Arbeitsablauf in versionierungssystemnutzenden Projekten verständlicher und nachvollziehbarer beschreiben. Aber wie gesagt, dies trifft sicherlich nur auf den Neueinsteiger zu. Ein Leser der Erfahrung mit einer solchen Arbeitsweise mitbringt, wird nichts vermissen.
Abschließend bleibt nur noch zu sagen, dass O’Reilly mit „Versionskontrolle mir Subversionen“ mal wieder eine – meiner Meinung nach – marktführendes Buch veröffentlich hat, das sich nahtlos in die bekannte O’Reilly-Qualität einreiht. Man spürt, dass die Autoren allesamt an der Entwicklung von Subversion beteiligt waren. Dieses Buch eignet sich nicht nur als informatives Werk, sondern mithilfe der ausführlichen, praktischen Referenz auch als erstklassiges Nachschlagewerk. Wer sich über Subversion fundiert belesen will – sei er nun Nutzer oder Entwickler –, der wird an diesem hervorragendem Buch sicherlich nicht vorbeikommen.
geschrieben am 02.10.2006 | 745 Wörter | 4613 Zeichen
Kommentare zur Rezension (0)
Platz für Anregungen und Ergänzungen