Version Control with Subversion, Community Edition

Version Control with Subversion, Community Edition

By Ben Collins-Sussman
Book Description

One of the greatest frustrations in most software projects is version control: the art of managing changes to information. Today's increasingly fast pace of software development--as programmers make small changes to software one day only to undo them the next--has only heightened the problem; consecutive work on code or single-programmer software is a rare sight these days. Without careful attention to version control, concurrent and collaborative work can create more headaches than it solves. This is where Subversion comes into play.

Written by members of the Subversion open source development team, "Version Control with Subversion" introduces the powerful new versioning tool designed to be the successor to the Concurrent Version System or CVS. CVS users will find the "look and feel" Subversion comfortably familiar, but under the surface it's far more flexible, robust, and usable, and more importantly, it improves on CVS's more notable flaws. The book begins with a general introduction to Subversion, the basic concepts behind version control, and a guided tour of Subversion's capabilities and structure. With thorough attention to detail, the authors cover every aspect of installing and configuring Subversion for managing a programming project, documentation, or any other team-based endeavor. Later chapters cover the more complex topics of branching, repository administration, and other advanced features such as properties, externals, and access control. The book ends with reference material and appendices covering a number of useful topics such as a Subversion complete reference and troubleshooting guide. "Version Control with Subversion" aims to be useful to readers of widelydifferent backgrounds, from those with no previous experience in version control to experienced sysadmins. If you've never used version control, you'll find everything you need to get started in this book. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.

Links to print and source (and subversion repository!) available at Red Bean Software.

Table of Contents
  • Foreword
  • Preface
    • What Is Subversion?
    • Audience
    • How to Read This Book
    • Organization of This Book
    • This Book Is Free
  • Acknowledgments
  • Chapter 1. Fundamental Concepts
    • Version Control Basics
    • Version Control the Subversion Way
    • Summary
  • Chapter 2. Basic Usage
    • Help!
    • Getting Data into Your Repository
    • Creating a Working Copy
    • Basic Work Cycle
    • Examining History
    • Sometimes You Just Need to Clean Up
    • Dealing with Structural Conflicts
    • Summary
  • Chapter 3. Advanced Topics
    • Revision Specifiers
    • Peg and Operative Revisions
    • Properties
    • File Portability
    • Ignoring Unversioned Items
    • Keyword Substitution
    • Sparse Directories
    • Locking
    • Externals Definitions
    • Changelists
    • Network Model
    • Summary
  • Chapter 4. Branching and Merging
    • What's a Branch?
    • Using Branches
    • Basic Merging
    • Advanced Merging
    • Traversing Branches
    • Tags
    • Branch Maintenance
    • Common Branching Patterns
    • Vendor Branches
    • To Branch or Not to Branch?
    • Summary
  • Chapter 5. Repository Administration
    • The Subversion Repository, Defined
    • Strategies for Repository Deployment
    • Creating and Configuring Your Repository
    • Repository Maintenance
    • Moving and Removing Repositories
    • Summary
  • Chapter 6. Server Configuration
    • Overview
    • Choosing a Server Configuration
    • svnserve, a Custom Server
    • httpd, the Apache HTTP Server
    • Path-Based Authorization
    • High-level Logging
    • Server Optimization
    • Supporting Multiple Repository Access Methods
  • Chapter 7. Customizing Your Subversion Experience
    • Runtime Configuration Area
    • Localization
    • Using External Editors
    • Using External Differencing and Merge Tools
    • Summary
  • Chapter 8. Embedding Subversion
    • Layered Library Design
    • Using the APIs
    • Summary
  • Chapter 9. Subversion Complete Reference
    • svn—Subversion Command-Line Client
    • svnadmin—Subversion Repository Administration
    • svnlook—Subversion Repository Examination
    • svnsync—Subversion Repository Mirroring
    • svnrdump—Remote Subversion Repository Data Migration
    • svnserve—Custom Subversion Server
    • svndumpfilter—Subversion History Filtering
    • svnversion—Subversion Working Copy Version Info
    • mod_dav_svn—Subversion Apache HTTP Server Module
    • mod_authz_svn—Subversion Apache HTTP Authorization Module
  • Appendix A. Subversion Quick-Start Guide
    • Installing Subversion
    • High-Speed Tutorial
  • Appendix B. Subversion for CVS Users
    • Revision Numbers Are Different Now
    • Directory Versions
    • More Disconnected Operations
    • Distinction Between Status and Update
    • Branches and Tags
    • Metadata Properties
    • Conflict Resolution
    • Binary Files and Translation
    • Versioned Modules
    • Authentication
    • Converting a Repository from CVS to Subversion
  • Appendix C. WebDAV and Autoversioning
    • What Is WebDAV?
    • Autoversioning
    • Client Interoperability
  • Appendix D. Copyright
  • Index
The book hasn't received reviews yet.
Also Available On
Curated Lists