Sophie

Sophie

distrib > Mageia > 6 > i586 > media > core-updates > by-pkgid > d32d95698a59acd37b394f83dfc217c6 > files > 200

subversion-doc-1.9.7-1.mga6.i586.rpm

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>The Subversion Repository, Defined</title>
    <link rel="stylesheet" type="text/css" href="styles.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.76.1" />
    <style type="text/css">
body { background-image: url('images/draft.png');
       background-repeat: no-repeat;
       background-position: top left;
       /* The following properties make the watermark "fixed" on the page. */
       /* I think that's just a bit too distracting for the reader... */
       /* background-attachment: fixed; */
       /* background-position: center center; */
     }</style>
    <link rel="home" href="index.html" title="Version Control with Subversion [DRAFT]" />
    <link rel="up" href="svn.reposadmin.html" title="Chapter 5. Repository Administration" />
    <link rel="prev" href="svn.reposadmin.html" title="Chapter 5. Repository Administration" />
    <link rel="next" href="svn.reposadmin.planning.html" title="Strategies for Repository Deployment" />
  </head>
  <body>
    <div xmlns="" id="vcws-version-notice">
      <p>This text is a work in progress—highly subject to
       change—and may not accurately describe any released
       version of the Apache™ Subversion® software.
       Bookmarking or otherwise referring others to this page is
       probably not such a smart idea.  Please visit
       <a href="http://www.svnbook.com/">http://www.svnbook.com/</a>
       for stable versions of this book.</p>
    </div>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">The Subversion Repository, Defined</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="svn.reposadmin.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 5. Repository Administration</th>
          <td width="20%" align="right"> <a accesskey="n" href="svn.reposadmin.planning.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" title="The Subversion Repository, Defined">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="svn.reposadmin.basics"></a>The Subversion Repository, Defined</h2>
          </div>
        </div>
      </div>
      <p>Before jumping into the broader topic of repository
      administration, let's further define what a repository is.  How
      does it look?  How does it feel?  Does it take its tea hot or
      iced, sweetened, and with lemon?  As an administrator, you'll be
      expected to understand the composition of a repository both from
      a literal, OS-level perspective—how a repository looks and
      acts with respect to non-Subversion tools—and from a
      logical perspective—dealing with how data is represented
      <span class="emphasis"><em>inside</em></span> the repository.</p>
      <p>Seen through the eyes of a typical file browser application
      (such as Windows Explorer) or command-line based filesystem
      navigation tools, the Subversion repository is just another
      directory full of stuff.  There are some subdirectories with
      human-readable configuration files in them, some subdirectories
      with some not-so-human-readable data files, and so on.  As in
      other areas of the Subversion design, modularity is given high
      regard, and hierarchical organization is preferred to cluttered
      chaos.  So a shallow glance into a typical repository from a
      nuts-and-bolts perspective is sufficient to reveal the basic
      components of the repository:</p>
      <div class="informalexample">
        <pre class="screen">
$ ls repos
conf/  db/  format  hooks/  locks/  README.txt
</pre>
      </div>
      <p>Here's a quick fly-by overview of what exactly you're seeing
      in this directory listing.  (Don't get bogged down in the
      terminology—detailed coverage of these components exists
      elsewhere in this and other chapters.)</p>
      <div class="variablelist">
        <dl>
          <dt>
            <span class="term">conf/</span>
          </dt>
          <dd>
            <p>This directory is a container for configuration
            files.</p>
          </dd>
          <dt>
            <span class="term">db/</span>
          </dt>
          <dd>
            <p>This directory contains the data store for all of your
            versioned data.<sup>[<a id="idp14173840" href="#ftn.idp14173840" class="footnote">49</a>]</sup></p>
          </dd>
          <dt>
            <span class="term">format</span>
          </dt>
          <dd>
            <p>This file describes the repository's internal
            organizational scheme.  (As it turns out,
            the <code class="filename">db/</code> subdirectory sometimes also
            contains a <code class="filename">format</code> file which
            describes only the contents of that subdirectory and which
            is not to be confused with this file.)</p>
          </dd>
          <dt>
            <span class="term">hooks/</span>
          </dt>
          <dd>
            <p>This directory contains hook script templates and
            hook scripts, if any have been installed.</p>
          </dd>
          <dt>
            <span class="term">locks/</span>
          </dt>
          <dd>
            <p>Subversion uses this directory to house repository
            lock files, used for managing concurrent access to the
            repository.</p>
          </dd>
          <dt>
            <span class="term">README.txt</span>
          </dt>
          <dd>
            <p>This is a brief text file containing merely a notice
            to readers that the directory they are looking in is a
            Subversion repository.</p>
          </dd>
        </dl>
      </div>
      <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <table border="0" summary="Note">
          <tr>
            <td rowspan="2" align="center" valign="top" width="25">
              <img alt="[Note]" src="images/note.png" />
            </td>
            <th align="left">Note</th>
          </tr>
          <tr>
            <td align="left" valign="top">
              <p>

        <a id="idp14183872" class="indexterm"></a>Prior to Subversion 1.5, the on-disk repository
        structure also always contained a <code class="filename">dav</code>
        subdirectory. <code class="filename">mod_dav_svn</code> used this
        directory to store information about
        WebDAV <em class="firstterm">activities</em>—mappings of
        high-level WebDAV protocol concepts to Subversion commit
        transactions.  Subversion 1.5 changed that behavior, moving
        ownership of the activities directory, and the ability to
        configure its location, into <code class="filename">mod_dav_svn</code>
        itself.  Now, new repositories will not necessarily have
        a <code class="filename">dav</code> subdirectory
        unless <code class="filename">mod_dav_svn</code> is in use and hasn't
        been configured to store its activities database elsewhere.
        See <a class="xref" href="svn.serverconfig.httpd.html#svn.serverconfig.httpd.ref.mod_dav_svn" title="mod_dav_svn configuration directives">the section called “mod_dav_svn configuration directives”</a>
        for more information.</p>
            </td>
          </tr>
        </table>
      </div>
      <p>Of course, when accessed via the Subversion libraries, this
      otherwise unremarkable collection of files and directories
      suddenly becomes an implementation of a virtual, versioned
      filesystem, complete with customizable event triggers.  This
      filesystem has its own notions of directories and files, very
      similar to the notions of such things held by real filesystems
      (such as NTFS, FAT32, ext3, etc.).  But this is a special
      filesystem—it hangs these directories and files from
      revisions, keeping all the changes you've ever made to them
      safely stored and forever accessible.  This is where the
      entirety of your versioned data lives.</p>
      <div class="footnotes">
        <br />
        <hr width="100" align="left" />
        <div class="footnote">
          <p><sup>[<a id="ftn.idp14173840" href="#idp14173840" class="para">49</a>] </sup>Strictly speaking,
            Subversion doesn't dictate that the versioned data live
            here, and there are known (albeit proprietary) alternative
            backend storage implementations which do not, in fact,
            store data in this directory.</p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="svn.reposadmin.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="svn.reposadmin.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="svn.reposadmin.planning.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Chapter 5. Repository Administration </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Strategies for Repository Deployment</td>
        </tr>
      </table>
    </div>
    <div xmlns="" id="vcws-footer">
      <hr />
      <img src="images/cc-by.png" style="float: right;" />
      <p>You are reading <em>Version Control with Subversion</em> (for
       Subversion 1.8), by Ben Collins-Sussman, Brian W. Fitzpatrick,
       and C. Michael Pilato.</p>
      <p>This work is licensed under
       the <a href="http://creativecommons.org/licenses/by/2.0/">Creative Commons Attribution License v2.0</a>.</p>
      <p>To submit comments, corrections, or other contributions to the
       text, please visit <a href="http://www.svnbook.com/">http://www.svnbook.com/</a>.</p>
    </div>
  </body>
</html>