Synopses & Reviews
Written by members of the development team that maintains Subversion, this is the official guide and reference manual for the popular open source revision control technology. The new edition covers Subversion 1.5 with a complete introduction and guided tour of its capabilities, along with best practice recommendations.
Version Control with Subversion is useful for people from a wide variety of backgrounds, from those with no previous version control experience to experienced system administrators.
Subversion is the perfect tool to track individual changes when several people collaborate on documentation or, particularly, software development projects. As a more powerful and flexible successor to the CVS revision control system, Subversion makes life so much simpler, allowing each team member to work separately and then merge source code changes into a single repository that keeps a record of each separate version.
Inside the updated edition Version Control with Subversion, you'll find:
- An introduction to Subversion and basic concepts behind version control
- A guided tour of the capabilities and structure of Subversion 1.5Guidelines for installing and configuring Subversion to manage programming, documentation, or any other team-based project
- Detailed coverage of complex topics such as branching and repository administration
- Advanced features such as properties, externals, and access control
- A guide to best practices
- Complete Subversion reference and troubleshooting guide
If you've never used version control, you'll find everything you need to get started. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.
One of the greatest frustrations in most software projects is managing changes to information. This guide, written by members of the Subversion open source development team, introduces the powerful new versioning tool designed to be the successor to the Concurrent Version System or CVS.
This is the official guide and reference manual for Subversion, the open source revision control technology that is used to keep track of different code versions when changes are made -- valuable when several developers work on the same software project. The new edition is updated for Subversion 1.5 and includes Subversion Best Practices.
About the Author
C. Michael Pilato (Mike) is a core Subversion developer, and a leader in the Subversion community. He is currently employed by CollabNet, where he spends his days (and many nights) improving Subversion and other tools with which it integrates. A husband and father, this North Carolina native also enjoys composing and performing music, freelance graphic design work, hiking, and spending quality time with his family. Mike has a degree in computer science and mathematics from the University of North Carolina at Charlotte.
Ben Collins-Sussman has been a sysadmin and programmer for ten years, and is one of the original designers and authors of Subversion. He currently works for CollabNet as a Subversion developer and community leader. When away from his computer, he moonlights as a musical theater composer at theaters around the city of Chicago. He lives with his lovely wife, three cats, and a house full of computer and music gizmos.
Brian Fitzpatrick started Google's Chicago engineering office in 2005, and currently leads Google's Transparency Engineering team, which uses data to help protect free expression and free speech on the web. He also founded and leads Google's Data Liberation Front, a team that systematically works to make it easy for users to move their data both to and from Google (e.g. via Google Takeout). He serves as both thought leader and internal advisor for Google's open data efforts and has previously led the Google Code and The Google Affiliate Network teams.
Prior to joining Google, Brian was a senior software engineer on the version control team at CollabNet, working on Subversion, cvs2svn, and CVS. He has also worked at Apple Computer as a senior engineer in their professional services division, developing both client and web applications for Apple's largest corporate customers.
Brian has coauthored "Version Control with Subversion" (now in its second edition), and chapters for "Unix in a Nutshell" and "Linux in a Nutshell."
Brian has an A.B. in Classics from Loyola University Chicago with a major in Latin, a minor in Greek, and a concentration in Fine Arts and Ceramics. Despite growing up in New Orleans and working for Silicon Valley companies for most of his career, he decided years ago that Chicago was his home and stubbornly refuses to move to California.
Table of Contents
Foreword; Preface; What Is Subversion?; Audience; How to Read This Book; Conventions Used in This Book; Organization of This Book; This Book Is Free; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Fundamental Concepts; 1.1 The Repository; 1.2 Versioning Models; 1.3 Subversion in Action; 1.4 Summary; Chapter 2: Basic Usage; 2.1 Help!; 2.2 Getting Data into Your Repository; 2.3 Initial Checkout; 2.4 Basic Work Cycle; 2.5 Examining History; 2.6 Sometimes You Just Need to Clean Up; 2.7 Summary; Chapter 3: Advanced Topics; 3.1 Revision Specifiers; 3.2 Properties; 3.3 File Portability; 3.4 Ignoring Unversioned Items; 3.5 Keyword Substitution; 3.6 Sparse Directories; 3.7 Locking; 3.8 Externals Definitions; 3.9 Peg and Operative Revisions; 3.10 Changelists; 3.11 Network Model; 3.12 Summary; Chapter 4: Branching and Merging; 4.1 What's a Branch?; 4.2 Using Branches; 4.3 Basic Merging; 4.4 Advanced Merging; 4.5 Traversing Branches; 4.6 Tags; 4.7 Branch Maintenance; 4.8 Common Branching Patterns; 4.9 Vendor Branches; 4.10 Summary; Chapter 5: Repository Administration; 5.1 The Subversion Repository, Defined; 5.2 Strategies for Repository Deployment; 5.3 Creating and Configuring Your Repository; 5.4 Repository Maintenance; 5.5 Moving and Removing Repositories; 5.6 Summary; Chapter 6: Server Configuration; 6.1 Overview; 6.2 Choosing a Server Configuration; 6.3 svnserve, a Custom Server; 6.4 httpd, the Apache HTTP Server; 6.5 Path-Based Authorization; 6.6 Supporting Multiple Repository Access Methods; Chapter 7: Customizing Your Subversion Experience; 7.1 Runtime Configuration Area; 7.2 Localization; 7.3 Using External Editors; 7.4 Using External Differencing and Merge Tools; 7.5 Summary; Chapter 8: Embedding Subversion; 8.1 Layered Library Design; 8.2 Inside the Working Copy Administration Area; 8.3 Using the APIs; 8.4 Summary; Chapter 9: Subversion Complete Reference; 9.1 The Subversion Command-Line Client: svn; 9.2 svnadmin; 9.3 svnlook; 9.4 svnsync; 9.5 svnserve; 9.6 svndumpfilter; 9.7 svnversion; 9.8 mod_dav_svn Configuration Directives; 9.9 mod_authz_svn; 9.10 Subversion Properties; 9.11 Repository Hooks; Subversion Quick-Start Guide; Installing Subversion; High-Speed Tutorial; 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; WebDAV and Autoversioning; What Is WebDAV?; Autoversioning; Client Interoperability; Copyright; Creative Commons Legal Code; Colophon;