Rating: Summary: Gotta have it Review: A good source control system is one of the most important tools for collaborative software development. Oddly the best-of-breed open source solution to for years has been CVS, which best described as merely "almost adequate." Subversion, in it's first release, addresses most of the shortcomings of CVS as well as a significantly stronger foundation on which to build an even better solution going forward. Version Control with Subversion is the perfect resource for migrating your source repository and, more importantly, your developers from CVS to Subversion. Those familiar with CVS will find this book to be a quick and easy read as it translates CVS's usage patterns into Subversion's. Developers new to source control will also find this book valuable for its simple descriptions of basic concepts and gradual introduction to more advanced topics.
Rating: Summary: Gotta have it Review: A good source control system is one of the most important tools for collaborative software development. Oddly the best-of-breed open source solution to for years has been CVS, which best described as merely "almost adequate." Subversion, in it's first release, addresses most of the shortcomings of CVS as well as a significantly stronger foundation on which to build an even better solution going forward. Version Control with Subversion is the perfect resource for migrating your source repository and, more importantly, your developers from CVS to Subversion. Those familiar with CVS will find this book to be a quick and easy read as it translates CVS's usage patterns into Subversion's. Developers new to source control will also find this book valuable for its simple descriptions of basic concepts and gradual introduction to more advanced topics.
Rating: Summary: CVS must die. Long Live Subversion. Review: Before Subversion appeared on the scene, software developers had two equally evil choices for Version Control. CVS which is open source, but rather limited and broken; or commercial systems which are generally closed, use propriety storage formats, and notoriously hard to migrate away from.
'Version Control with Subversion' is highly recommended for the following folks:
1. Anyone interested in how version control works
2. People new to version control or Subversion
3. Experienced Subversion users / software developers
The book is extremely well written and organized. The authors are knowledgable (they wrote Subversion itself), and unlike many other technical authors, are able to clearly and concisely (and humorously!) explain the subject matter.
The book begins with an introduction to the ideas behind Version Control. From there, subsequent chapters begin explaining how to use Subversion with 'real world' examples. Later chapters cover repository setup, administration, and customization. The excellent reference materials in the Appendices will keep this book close at hand.
I highly encourage anyone involved in software development to check out Subversion and read this book.
Rating: Summary: Subversion (the book and the software) rocks! Review: If you are a CVS user, you need to immediately move to Subversion. CVS is damaged goods (no atomic commits, broken tags/branches, broken client/server, etc..). Subversion fixes all of this and takes it a generation further (WebDAV access, sensible branching, excellent diff'ing, etc). This book does an excellent job of teaching the reader exactly how to effectively use Subversion. Whether new to revision control, coming from CVS or from some other RC system, the Subversion Book provides a very clear and often humorous guide to effectively deploying, administrating and using Subversion. An excellent book.
Rating: Summary: Well written manual for a solid software program Review: If you develop software of any type you quickly learn the importance of a good revision control system. Sometimes a minor change that fixes a bug at one point causes other portions of the program to have problems. Revision control systems allow you keep various versions of your program and go back to a prior version easily. If there are multiple people working on the project then the ability to commit changes and see what happens but easily get back to where you were becomes even more important. If you are writing a modular program then as each person or group changes their module you may need to get a current version of the project with a prior version of a module. A revision control system handles all these problems easily. Subversion is an open source version control system that can be used on any operating system that supports the Apache httpd server including Windows, Linux, and NetWare.
Version Control with Subversion is a highly useful book written with a slant toward the Linux OS. It is easy to read and understand if you are at least familiar with version control software at a theoretical level and is highly recommended. One really nice feature is an appendix covering the differences between Subversion and the popular CVS software. If you are used to CVS then this appendix makes the switch to Subversion much easier.
Rating: Summary: Are you using Subversion yet? Review: If you're still using CVS, you should be switching to Subversion. Really. If you haven't yet switched because you're not sure of Subversion's capabilities or need some guidance, then this is the book for you.
The authors have put together an excellent overview of Subversion in concise detail. Including everything from setup to day-to-day use, this book outlines what you need to not only get your project up and running using Subversion, but also the best practices wisdom gleaned from the project developers' own experience with the system. For this last part alone, the book is worth the money.
The book is excellent documentation; well-written and to the point. It's everything you need to effectively use Subversion on a day-to-day basis.
Rating: Summary: Buy this book if you use Subversion or plan to. Review: My bookshelves used to bend, groaning
with the weight of computer manuals and
books, collected over the years. In a
cathartic fit, I recently cleaned up
this surplus, winnowing away to just the
few books I consider invaluable, or such
nostalgic classics that I cannot part
with them. And I swore an oath never to
collect books that didn't fit these
criteria.
Having read Version Control with
Subversion, I'm happy to report that
this hallowed shelf will be getting a
new addition. I found this book
thorough, clear, concise, thoughtful,
and above all, useful. If you plan on
using Subversion, get this book. Soon.
If you know a bit about how this book
was written, the quality of this book
might come as no surprise. The book's
content comes from the same source and
process as the software it documents: an
open encounter between the authors and
the users of Subversion. From the
Preface: "...the book was written in the
public eye, as a part of Subversion."
Ben Collins-Sussman, one of the authors
of Subversion, responded to repeatedly
fielding the same questions from
Subversion users by drafting "The
Subversion Handbook." This "FAQ" was
then used as the basis of the book, and
the results speak for themselves.
I found the book extremely pragmatic,
but more than merely a pedantic
tutorial. It transcends the "How To"
genre by providing not only concrete
tools and examples, but also through
examining the critical question of
"Why?". This sensitivity sets it apart
and makes it a invaluable aid, by
exposing the philosophical rationales of
the authors. It has helped me to
understand not only how to use the
software well, but to understand the
software itself.
I have been using source control since
the very first days of my professional
involvement in IT. It has saved my
bacon on occasions too many to count
(without embarrassment). I have
staunchly advocated CVS, which has been
the stalwart source code control tool in
the UNIX world for years. However, as
most any user of CVS will attest, the
old girl has a few warts, and has begun
to show her age. The authors of
Subversion aimed to create a successor
to CVS, "by creating an open-source
system with a design (and look and feel)
similar to CVS, and by attempting to fix
most of CVS's noticeable flaws." I
think Subversion succeeds in this
regard, and I have found this book an
excellent guide to making the transition
from CVS to Subversion.
The book addresses the full gamut of
topics I had interest in, and quite a
few that I suspect I'll never have need
of. Covered topics include the history
of Subversion, its features, and
installation methods. For those new to
tools like CVS and Subversion, there is
a clear, thoughtful and useful guide to
basic concepts of version control.
Those more familiar with version control
will find quick gratification in
detailed coverage of a typical daily
work cycle. The more advanced topics of
branching, merging and tagging are given
relentless and cogent treatment.
Typical of the book's thoughtful and
deep exposition, the chapter on
branching includes a section entitled
"Best Practices for Merging". This
consistent beyond-the-how-to treatment
moves the book from the "read it, learn
it, give the book to someone else"
category into a reference that I know I
will return to often.
The structure, features and
administration of a Subversion
repository are covered in a chapter of
their own. The topic of running a
Subversion server is examined in similar
fashion, including a clear exploration
of the trade-offs between running a
standalone Subversion server, or running
it under Apache. The book includes
detailed documentation of the Subversion
internals, for those wishing to use
Subversion as part of a tool they
develop. A complete command reference
rounds out the main section of the book,
and is followed by several appendices.
Of these, I found Appendix A,
"Subversion for CVS Users", especially
useful.
Finally, I think the hallmark of any
truly excellent technical documentation
is a deep, detailed index. Version
Control with Subversion doesn't
disappoint on this score.
I just wish all computer books were this
good.
Rating: Summary: Removes limitations in CVS Review: So what is wrong with CVS? It is the most common open source version control package. Very stable and mature. But, as the authors of this book point out, heavy users soon run into its limitations. Most notably, CVS has no concept of directory versioning. This means that copying and renaming files isn't handled at all, let alone these operations on directories. Plus, if you want to commit a set of files in CVS, some might fail and others might succeed. Not atomic. Undesirable.
So the authors (and other developers) put together a proposed open source successor, Subversion. (Cool name!) It fixes the above deficiencies, and others. One nice extra feature is that the actual data access is abstracted in such a way that an Apache web server can also serve the Subversion data. Clever way to key off the power and stability of Apache.
You may find it worthwhile to check it out.
Rating: Summary: Concise and clear introduction to Subversion Review: The writing in this book is refreshingly clear. In particular, I'm impressed with how the early sections seem to have been molded by answering the question, "What will a new user want to do?" For example, the text immediately shows you how to create a repository and then demonstrates the commands to begin adding and committing files.
Rating: Summary: My most important Subversion reference Review: This book is an excellent resource for novice and experienced Subversion users alike. The first two chapters provide background on why subversion came into existence and general version control concepts. Anybody new to Subversion should carefully read chapter 3. The 'Basic Work Cycle' section explains the day-to-day use of Subversion well.
Chapters 5 and 6 have been invaluable in setting up our repositories. I particularly recommend people read the section on choosing a repository layout prior to setting up their repository. Setting up a Subversion repository to be served through Apache is more complicated than a local repository, but the 'httpd' section of chapter 6 clearly covers what to do. We now have a Subversion repository served through Apache that authenticates users with client-side certificates and encrypts communications over SSL.
Chapter 7 provided the information I needed to really get Subversion working exactly as I wanted it to. I have modified my config file to set what files Subversion should ignore and also what properties to set automatically. In addition, we have set up our projects so that they all have transparent access to the company's reusable code library using the svn:externals property (covered in the externals definitions section).
Appendix A is the place to start if you are an experienced CVS user making the transition to Subversion. There are a few significant changes that you need to be aware of.
The examples in the book use the command-line client, but Appendix D (Third Party Tools) provides URLs for the many GUI clients available, if that's your preference.
|