| Introducing Subversion | |
| What Is Version Control? | |
| The Concurrent Versioning System | |
| What Is Subversion? | |
| Versioned Directories, Renames, and File Metadata | |
| Atomic Changes to the Repository | |
| Branching and Tagging Client/Server | |
| Application Design Saving Bandwidth | |
| Disconnected Operations Support | |
| Well-Supported Binary Files | |
| Sharing a Repository Over a Network | |
| Workflow Similar to CVS Key Technologies Apache | |
| Web Server and Web | |
| DAV Berkeley DB Obtaining Subversion | |
| Obtaining Precompiled Binaries | |
| Building Subversion on Unix Systems | |
| Installing Subversion on Windows Systems | |
| Configuration Files | |
| Summary | |
| A Crash Course in Subversion | |
| Locking vs. Nonlocking Other Differentiating Features | |
| The Most Important Subversion Commands | |
| Revisions and URLs | |
| Creating and Populating the Repository | |
| Basic Workflow Checking Out a Working Copy | |
| Getting Information About Your Working Copy | |
| Modifying Your Working Copy | |
| Adding, Copying, Renaming, and Removing Files | |
| Adding Files and Directories | |
| Copying and Moving Versioned Items | |
| Deleting Versioned Items | |
| Working with Branches and Tags | |
| Creating Branches and Tags | |
| Merging Changes Between Branches | |
| Switching to Another Branch | |
| Changing a Repository URL with svn switch --relocate | |
| Removing Old Branches | |
| Working with Locks Properties svn: mime-type svn: ignore svn: needs-lock svn: keywords svn: eol-style svn: executable svn: externals | |
| Revision Properties | |
| Miscellaneous Commands svn blame svn cleanup svn export | |
| Summary | |
| Repository Administration | |
| Choosing a Repository Type Repository Layout | |
| The Repository on Disk | |
| BDB-Specific Files | |
| Inside the Repository Tools for Working with the Repository svnadmin svnlook | |
| Backups Dumping and Loading Repository Contents Berkeley DB Tuning Hooks | |
| Commit Hooks | |
| Locking Hooks | |
| Revprop Change Hooks | |
| Access Control Hook | |
| Scripts Commit Notification Hook | |
| Scripts Writing and Installing Hook | |
| Scripts Networking with ra_dav Networking with ra_svn Repository Permissions | |
| Summary | |
| Migrating from Other Version Control Systems | |
| Migrating a Release | |
| History Various Migration Strategies | |
| The Subversion Dumpfile Format Migrating from Perforce p42svn | |
| An Alternate Perforce Conversion Scheme | |
| Migrating from CVS with cvs2svn cvs2svn Internals | |
| Running cvs2svn Using cvs2svn with RCS | |
| Migrating from Visual Source | |
| Safe with vss2svn Migrating from Mercurial or GIT with Tailor | |
| Where Should I Go from Here? | |
| Summary | |
| Advanced Apache Integration Authentication, Authorization, and Encryption mod_auth Authenticating | |
| Users with mod_auth_mysql Restricting User Actions with mod_authz_svn Encrypting | |
| Traffic with mod_ssl Compression DAV Autoversioning Logging | |
| Repository Browsing Common Issues with mod_dav_svn | |
| Summary | |
| Best Practices Choosing a Repository | |
| Layout Avoid Locking Mergeable Files | |
| Committing Changes Commit Early, Commit Often Make Small, Atomic Changes Use Meaningful Log | |
| Messages Don_t Break the Tree Branching and Merging | |
| When to Branch Making Merges | |
| Easier Planning for svn switch Vendor Branches | |
| How to Maintain a Vendor Branch | |
| Automating the Vendor | |
| Import Process Releases | |
| Making a Release Branch | |
| Finalizing the Release | |
| Rolling the Distribution | |
| After the Release Automated | |
| Testing with Subversion You Need a Test Suite Don_t Rely on Your Users to Run the Test | |
| Suite Making Good Use of Hook | |
| Scripts Notifying the Rest of the Team Enforcing | |
| Project Standards<br | |
| Table of Contents provided by Publisher. All Rights Reserved. |