11.07.2015 Views

Version Control with Subversion - Login

Version Control with Subversion - Login

Version Control with Subversion - Login

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 5. Repository AdministrationThe <strong>Subversion</strong> repository is the central storehouse of all your versioned data. As such, itbecomes an obvious candidate for all the love and attention an administrator can offer.While the repository is generally a low-maintenance item, it is important to understand howto properly configure and care for it so that potential problems are avoided, and so actualproblems are safely resolved.In this chapter, we'll discuss how to create and configure a <strong>Subversion</strong> repository. We'llalso talk about repository maintenance, providing examples of how and when to use thesvnlook and svnadmin tools provided <strong>with</strong> <strong>Subversion</strong>. We'll address some commonquestions and mistakes and give some suggestions on how to arrange the data in the repository.If you plan to access a <strong>Subversion</strong> repository only in the role of a user whose data is underversion control (i.e., via a <strong>Subversion</strong> client), you can skip this chapter altogether.However, if you are, or wish to become, a <strong>Subversion</strong> repository administrator, 1 thischapter is for you.The <strong>Subversion</strong> Repository, DefinedBefore jumping into the broader topic of repository administration, let's further define whata repository is. How does it look? How does it feel? Does it take its tea hot or iced,sweetened, and <strong>with</strong> lemon? As an administrator, you'll be expected to understand thecomposition of a repository both from a literal, OS-level perspective—how a repositorylooks and acts <strong>with</strong> respect to non-<strong>Subversion</strong> tools—and from a logical perspective—dealing<strong>with</strong> how data is represented inside the repository.Seen through the eyes of a typical file browser application (such as Windows Explorer) orcommand-line based filesystem navigation tools, the <strong>Subversion</strong> repository is just anotherdirectory full of stuff. There are some subdirectories <strong>with</strong> human-readable configurationfiles in them, some subdirectories <strong>with</strong> some not-so-human-readable data files, and so on.As in other areas of the <strong>Subversion</strong> design, modularity is given high regard, and hierarchicalorganization is preferred to cluttered chaos. So a shallow glance into a typical repositoryfrom a nuts-and-bolts perspective is sufficient to reveal the basic components of the repository:$ ls reposconf/ dav/ db/ format hooks/ locks/ README.txtHere's a quick fly-by overview of what exactly you're seeing in this directory listing. (Don'tget bogged down in the terminology—detailed coverage of these components exists elsewherein this and other chapters.)confA directory containing configuration filesdavA directory provided to mod_dav_svn for its private housekeeping datadbThe data store for all of your versioned data1 This may sound really prestigious and lofty, but we're just talking about anyone who is interested in that mysteriousrealm beyond the working copy where everyone's data hangs out.121

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!