Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Version control with Subversion (2nd ed.)
Pilato C., Collins-Sussman B., Fitzpatrick B., O’Reilly Media, Inc., 2008. 430 pp. Type: Book (9780596510336)
Date Reviewed: Jan 20 2009

I like this book. It is written in a down-to-earth, direct, and helpful style, and it’s just what you need to get going with Subversion (SVN). If you have been putting off learning this latest tool in a long line of version control systems (as I have), then this book is for you.

SVN users who have already made the effort will also find the book very useful as a source of “how to” examples that show each feature of SVN in practical, real-life situations. Every feature introduced comes with short, easy-to-follow examples that will appeal to those who just want to “get on with it.”

This is also a book that those who have already climbed the learning curve of SVN will want on their shelves, as it is a very useful reference. Each topic comes with a no-nonsense explanation of what the feature does and does not do. The use and limitations of each feature are clearly explained, as the features are introduced. For the ultimate practitioner, the last chapter of the book provides a complete reference of all SVN features.

I strongly recommend this book to those who need to use version control in their work, at whatever level. The book is structured in such a way as to provide, at the same time: a graceful introduction to the tool, a concise list of explanations, and a set of examples that show how to use each aspect of SVN.

This multidimensional structuring trick is partly explained by the book’s background. Karl Fogel states in the foreward: “What I love about the book is that it grew out of [a process of compiling a true FAQ], and it shows on every page.” The authors listened very carefully to what people asked about the tool, and then set about answering those questions. These questions come from real-life situations and reflect precisely the scenarios of interest to the three levels of users identified above.

The other explanation is the writing style. It is a challenging task to write an introductory text that can also serve as a useful reference, and the writers’ crisp, concise style helps immensely here. As each new feature is developed, it comes with a short explanation of why the feature is needed and the contexts in which the need arises. This sets the context for the reader who needs to brush up on a particular feature, and also provides a good segue for the reader who follows the chapters sequentially. Back references provide links to and reinforcement of features used or refined in the explanations.

A glance at the book’s table of contents shows how the authors have succeeded in their tripartite task. Chapter 1 explains the fundamental concepts of version control and how SVN addresses these concepts. Chapter 2 immediately puts these concepts into practice with examples of basic usage, and chapter 3 extends these basic examples into advanced topics.

Chapters 4 to 6, “Branching and Merging,” “Repository Administration,” and “Server Configuration,” respectively, will be particularly useful to system administrators.

Chapters 7 and 8 develop the more subtle features of SVN, showing the process of “customizing your Subversion experience” and the ways in which programmers can undertake embedding Subversion into their custom-built software, through its application programming interfaces (APIs).

Finally, chapter 9, “Subversion Complete Reference,” not only documents, in reference-manual style, every feature of SVN, but also continues the theme of offering examples to cover every aspect of its use.

Four appendices cover those aspects of SVN that do not fit into the chapter style. Appendix A, “Subversion Quick-Start Guide,” is specifically supplied for the impatient, and comes with the caveat: “You have been warned!” Appendix B, “Subversion for CVS Users,” provides a learning pathway for users with previous CVS experience, while Appendix C, “WebDAV and Autoversioning,” explains how SVN can be used to run a WebDAV/DeltaV client--although there are some caveats about the lack of full interoperability in this respect. Appendix D, “Copyright,” explains the copyright under which the book was published.

In summary, this book should be on the shelf of every computer user concerned with version control. (There are those who would suggest that this definition covers every computer user who has ever authored a computer document, but I am enough of a realist to appreciate that this is unlikely to happen.)

Reviewer:  John Hurst Review #: CR136436 (0912-1118)
Bookmark and Share
 
Version Control (D.2.7 ... )
 
 
Version Control (I.7.1 ... )
 
 
Miscellaneous (A.m )
 
Would you recommend this review?
yes
no
Other reviews under "Version Control": Date
Distributed version management for read-only actions
Weihl W. IEEE Transactions on Software Engineering 13(1): 55-64, 1987. Type: Article
Jan 1 1988
RCS--a system for version control
Tichy W. (ed) Software--Practice & Experience 15(7): 637-654, 1985. Type: Article
Apr 1 1986
Version control and separate compilation in Ada
Dausmann M.  Ada-components: libraries and tools (, Stockholm, Sweden, May 26-28, 1987)1701987. Type: Proceedings
Jan 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy