Technical book authors always face a certain dilemma: whether to cater to top-down or to bottom-up learners. A top-down learner prefers to read or skim documentation, getting a large overview of how the system works; only then does she actually start using the software. A bottom-up learner is a “learn by doing” person—someone who just wants to dive into the software and figure it out as she goes, referring to book sections when necessary. Most books tend to be written for one type of person or the other, and this book is undoubtedly biased toward top-down learners. (And if you’re actually reading this section, you’re probably already a top-down learner yourself!) However, if you’re a bottom-up person, don’t despair. While the book may be laid out as a broad survey of Subversion topics, the content of each section tends to be heavy with specific examples that you can try-by-doing. For the impatient folks who just want to get going, you can jump right to Appendix A.
Regardless of your learning style, this book aims to be useful to people of widely different backgrounds—from those with no previous experience in version control to experienced system administrators. Depending on your own background, certain chapters may be more or less important to you. The following can be considered a “recommended reading list” for various types of readers:
The assumption here is that you’ve probably used version control before and are dying to get a Subversion server up and running ASAP. Chapters 5 and 6 will show you how to create your first repository and make it available over the network. After that’s done, Chapter 2 and Appendix B are the fastest routes to learning the Subversion client.
Your administrator has probably already set up Subversion, and you need to learn how to use the client. If you’ve never used a version control system, then Chapter 1 is a vital introduction to the ideas behind version control. Chapter 2 is a guided tour of the Subversion client.
Whether you’re a user or administrator, eventually your project will grow larger. You’re going to want to learn how to do more advanced things with Subversion, such as how to use Subversion’s property support (Chapter 3), how to use branches and perform merges (Chapter 4), how to configure runtime options (Chapter 7), and other things. These chapters aren’t critical at first, but be sure to read them once you’re comfortable with the basics.
Presumably, you’re already familiar with Subversion, and you now want to either extend it or build new software on top of its many APIs. Chapter 8 is just for you.
The book ends with reference material—Chapter 9 is a reference guide for all Subversion commands, and the appendixes cover a number of useful topics. These are the chapters you’re mostly likely to come back to after you’ve finished the book.