Today, 31 May 2009, I am still waiting for this book bought (paid) 2 months ago. Preface......Page 8 Introduction......Page 10 Version Control in Action......Page 11 Road Map......Page 14 Why Choose Subversion......Page 15 The Repository......Page 18 What Should We Store?......Page 20 Working Copies and Manipulating Files......Page 21 Projects, Directories, and Files......Page 24 Where Do Versions Come In?......Page 25 Tags......Page 27 Branches......Page 28 Locking Options......Page 31 Configuration Management (CM)......Page 35 Installing Subversion......Page 36 Creating a Repository......Page 41 Creating a Simple Project......Page 42 Starting to Work with a Project......Page 45 Making Changes......Page 47 Updating the Repository......Page 48 When Worlds Collide......Page 52 Conflict Resolution......Page 54 How To.........Page 59 Important Steps When Using Version Control......Page 60 Network Protocols......Page 62 Choosing a Networking Option......Page 67 Checking Things Out......Page 69 Keeping Up-to-Date......Page 71 Adding Files and Directories......Page 72 Properties......Page 73 Copying and Moving Files and Directories......Page 82 Seeing What Has Changed......Page 87 Handling Merge Conflicts......Page 93 Committing Changes......Page 97 Examining Change History......Page 98 Removing a Change......Page 101 A Simple Project......Page 106 Multiple Projects......Page 107 Multiple Repositories......Page 108 Tags and Branches......Page 110 Creating a Release Branch......Page 114 Working in a Release Branch......Page 116 Generating a Release......Page 118 Fixing Bugs in a Release Branch......Page 120 Developer Experimental Branches......Page 123 Merging the Experimental Branch......Page 125 Creating a Project......Page 127 Creating the Initial Project......Page 128 Structure within the Project......Page 130 Sharing Code between Projects......Page 134 Binary Libraries......Page 140 Libraries with Source Code......Page 143 Keyword Expansion during Imports......Page 149 Installing Subversion......Page 150 Networking with svnserve......Page 151 Networking with svn+ssh......Page 153 Networking with Apache......Page 156 Securing Subversion......Page 162 Backing Up Your Repository......Page 166 Migrating to Subversion......Page 171 Choosing How Much to Convert......Page 172 Converting Your Repository......Page 173 TortoiseSVN......Page 175 IDE Integration......Page 182 Other Tools......Page 183 Subversion Command Summary......Page 185 Recipes......Page 195 Online Resources......Page 201 Bibliography......Page 202 "Version control" is how programmers manage the assets they produce. It's a fundamental practice that (surprisingly) many people don't use, or don't use effectively. Contrary to popular belief, version control doesn't have to be complicated, hard to use, or expensive to implement. But without version control, your valuable assets are at risk.This book shows how just a handful of basic recipes can be used to get almost all of the benefits from a version control system. Follow these recipes, and your project's assets (source code, documentation, test data, scripts, and so on) will be protected, and you'll be in control of how they're used.After reading this book, you'll be able to: Keep all project assets (not just source code) shared and safe, and never lose a great idea, Experiment more and undo bad decisions-even directories and renames are versioned, Install, administer, and back up a Subversion repository, Get your repository online with svnserve, SSH, or Apache, Organize your repository effectively and share code between projects, Migrate an existing CVS repository to Subversion.This book focuses on the effective use of the popular, open-source Subversion system. (A version of this book using CVS is also available.)